Java 9模块化特性及工具探讨

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/78589659 Java 9模块化特性及工具探讨版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/78589659

Java 9模块化特性及工具探讨

  • 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。

Java 9于2017年九月下旬发布。随着Java 9的发布,它变得模块化了,并通过模块化提高其可伸缩性和性能。模块化是一个普遍的概念。在软件中,它适用于编写和实现一个程序或作为独立模块的计算系统,而不是一个单一的、单体式的设计。在模块化的帮助下,程序员可以在特定的sprint周期或项目中独立地进行功能测试,并行参与开发工作。这在整个软件开发生命周期中都会提高效率。

但并不是所有的Java工具都支持Java 9的模块化功能。本文概述了支持Java模块化的特性,并提供了支持Java 9新模块化功能的工具列表。

支持模块化的特性:

Java 9是独特的,因为它在整个JDK中引入了模块化组件和片段。支持模块化的主要特点包括:

  1. 模块化源代码

JRE和JDK将重新安排到Java 9中的可互操作模块中,这支持创建可在小型设备上执行的可扩展运行时。

  1. 构建时执行

在Java 9中,构建系统将通过JEP 201进行编译和实施模块边界。

  1. 部署工具

在Jigsaw项目中提供了工具,在部署时支持模块化边界、约束和依赖关系。

  1. 分段的代码缓存

它不是一个严格的模块化设施,但是Java 9新的分段代码缓存将遵循模块化的思想,并享有一些相同的好处。

适用于Java 9模块化特性的工具:

  1. Apache Ant

Apache Ant是一个Java库和命令行工具,用于构建Java应用程序。Ant项目管理委员会早些时候确保Ant将在2017年2月的Ant 1.10.1版本上运行Java 9。Java 9和模块化速度正在加快。它支持javac、java和JUnit任务的模块路径和相关选项。

  1. Apache Maven

Apache Maven 3.7版本开始支持Java 9和模块化。

  1. Eclipse IDE

Eclipse IDE是一个开源工具,从2017年6月的Oxygen版本开始支持Java 9。但是,要使用Java 9模块,Java开发人员需要将以下vmargs(JVM的命令行参数)添加到eclipse.ini:-add-modules = ALL-SYSTEM。项目可能无法运行,因为类型正在用在java.base或java.se.ee中,例如javafx.Base中的类型。在这种情况下,根据Eclipse文档,你必须弄清楚需要使用-add-modules添加哪些模块。

  1. JetBrains IntelliJ IDEA

从2017.2版开始,流行的IntelliJ IDEA开发环境开始全面支持Java 9的模块化。开发人员可以构建Java 9的模块化项目,就像使用模块路径而不是类路径一样。还支持module-info.java文件的开发,以及这些文件的代码完成和快速修复。

尚未准备好支持Java 9模块化特性的工具:

  1. Gradle

Gradle软件构建工具尚未完全支持Java 9,尽管其开发人员预计在2018年可以这样做。目前,Gradle使用的开发人员可以通过变通方法尝试模块化。

  1. Jenkins

用于软件开发项目的持续集成和部署的Jenkins开源自动化服务器尚不支持Java 9模块化仍在进行中。Cloud Bees首席技术官Kohsuke Kawaguchi表示,Cloud Bees在Jenkins社区领导着与Jenkins Java 9兼容的工作。但他没有给Jenkins提供Java 9兼容性的大致日期。

总结

在本文中,我们讨论了Java 9的模块化特性,还介绍了适用于这些新特性的工具。最后,列出了一些尚未准备好支持Java 9模块化特性的工具。

目录
相关文章
|
11天前
|
安全 Java 数据安全/隐私保护
|
11天前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
13 3
|
1月前
|
人工智能 Java 编译器
Java 19的未来:新特性、性能优化和更多
Java 19的未来:新特性、性能优化和更多
|
1月前
|
Java API 数据处理
Java 8新特性之Stream API详解
【2月更文挑战第22天】本文将深入探讨Java 8中引入的Stream API,这是一种基于函数式编程的新特性,用于处理集合数据。我们将详细介绍Stream的基本概念、操作方法以及在实际开发中的应用,帮助读者更好地理解和使用这一强大的工具。
|
1月前
|
分布式计算 Java API
Java 8新特性之Lambda表达式和Stream API
【2月更文挑战第18天】随着Java 8的发布,Lambda表达式和Stream API成为了Java开发者的新宠。本文将详细介绍Lambda表达式的基本语法、使用方法以及与Stream API的结合,帮助读者更好地理解和运用这些新特性,提高代码的简洁性和可读性。
|
25天前
|
Java
java中日期处理的一些工具方法
java中日期处理的一些工具方法
16 1
|
1月前
|
Java API
Java 8新特性之Lambda表达式与Stream API
【2月更文挑战第21天】本文将介绍Java 8中的两个重要特性:Lambda表达式和Stream API。Lambda表达式是Java 8中引入的一种新的编程语法,它允许我们将函数作为参数传递给方法,从而使代码更加简洁、易读。Stream API是一种用于处理集合的新API,它提供了一种高效且易于使用的处理数据的方式。本文将通过实例讲解这两个特性的基本用法以及它们如何帮助我们编写更简洁、高效的Java代码。
|
7天前
|
Java API 开发者
Java 8新特性之函数式编程实战
【4月更文挑战第9天】本文将深入探讨Java 8的新特性之一——函数式编程,通过实例演示如何运用Lambda表达式、Stream API等技术,提高代码的简洁性和执行效率。
|
7天前
|
存储 Java API
java8新特性 lambda表达式、Stream、Optional
java8新特性 lambda表达式、Stream、Optional