Java9模組化特性及工具探討

chszs發表於2017-11-21
版權宣告:本文為博主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模組化特性的工具。


相關文章