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

目录
相关文章
|
1月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
68 9
|
2月前
|
存储 安全 Java
Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
【10月更文挑战第17天】Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
77 2
|
21天前
|
SQL Java 索引
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
137 83
|
18天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
37 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
21天前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
51 26
|
22天前
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
47 24
|
9天前
|
存储 Java 开发者
什么是java的Compact Strings特性,什么情况下使用
Java 9引入了紧凑字符串特性,优化了字符串的内存使用。它通过将字符串从UTF-16字符数组改为字节数组存储,根据内容选择更节省内存的编码方式,通常能节省10%至15%的内存。
|
18天前
|
存储 Java 数据挖掘
Java 8 新特性之 Stream API:函数式编程风格的数据处理范式
Java 8 引入的 Stream API 提供了一种新的数据处理方式,支持函数式编程风格,能够高效、简洁地处理集合数据,实现过滤、映射、聚合等操作。
35 6
|
21天前
|
数据采集 存储 监控
Java爬虫:数据采集的强大工具
在数据驱动的时代,Java爬虫技术凭借其强大的功能和灵活性,成为企业获取市场信息、用户行为及竞争情报的关键工具。本文详细介绍了Java爬虫的工作原理、应用场景、构建方法及其重要性,强调了在合法合规的前提下,如何有效利用Java爬虫技术为企业决策提供支持。
|
1月前
|
分布式计算 Java API
Java 8引入了流处理和函数式编程两大新特性
Java 8引入了流处理和函数式编程两大新特性。流处理提供了一种声明式的数据处理方式,使代码更简洁易读;函数式编程通过Lambda表达式和函数式接口,简化了代码书写,提高了灵活性。此外,Java 8还引入了Optional类、新的日期时间API等,进一步增强了编程能力。这些新特性使开发者能够编写更高效、更清晰的代码。
33 4