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模块化特性的工具。

chszs
+关注
目录
打赏
0
0
0
0
1098
分享
相关文章
|
4月前
|
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
118 9
|
1天前
|
Java静态代码块深度剖析:机制、特性与最佳实践
在Java中,静态代码块(或称静态初始化块)是指类中定义的一个或多个`static { ... }`结构。其主要功能在于初始化类级别的数据,例如静态变量的初始化或执行仅需运行一次的初始化逻辑。
15 4
|
4月前
|
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
178 83
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
337 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
115 7
Spring Boot 入门:简化 Java Web 开发的强大工具
|
4月前
|
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
83 26
|
4月前
|
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
82 24
什么是java的Compact Strings特性,什么情况下使用
Java 9引入了紧凑字符串特性,优化了字符串的内存使用。它通过将字符串从UTF-16字符数组改为字节数组存储,根据内容选择更节省内存的编码方式,通常能节省10%至15%的内存。
Java 8 新特性之 Stream API:函数式编程风格的数据处理范式
Java 8 引入的 Stream API 提供了一种新的数据处理方式,支持函数式编程风格,能够高效、简洁地处理集合数据,实现过滤、映射、聚合等操作。
114 6
Java爬虫:数据采集的强大工具
在数据驱动的时代,Java爬虫技术凭借其强大的功能和灵活性,成为企业获取市场信息、用户行为及竞争情报的关键工具。本文详细介绍了Java爬虫的工作原理、应用场景、构建方法及其重要性,强调了在合法合规的前提下,如何有效利用Java爬虫技术为企业决策提供支持。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等