Java9模組化特性及工具探討
Java 9模組化特性及工具探討
- 版權宣告:本文為博主chszs的原創文章,未經博主允許不得轉載。
Java 9於2017年九月下旬釋出。隨著Java 9的釋出,它變得模組化了,並通過模組化提高其可伸縮性和效能。模組化是一個普遍的概念。在軟體中,它適用於編寫和實現一個程式或作為獨立模組的計算系統,而不是一個單一的、單體式的設計。在模組化的幫助下,程式設計師可以在特定的sprint週期或專案中獨立地進行功能測試,並行參與開發工作。這在整個軟體開發生命週期中都會提高效率。
但並不是所有的Java工具都支援Java 9的模組化功能。本文概述了支援Java模組化的特性,並提供了支援Java 9新模組化功能的工具列表。
支援模組化的特性:
Java 9是獨特的,因為它在整個JDK中引入了模組化元件和片段。支援模組化的主要特點包括:
- 模組化原始碼
JRE和JDK將重新安排到Java 9中的可互操作模組中,這支援建立可在小型裝置上執行的可擴充套件執行時。
- 構建時執行
在Java 9中,構建系統將通過JEP 201進行編譯和實施模組邊界。
- 部署工具
在Jigsaw專案中提供了工具,在部署時支援模組化邊界、約束和依賴關係。
- 分段的程式碼快取
它不是一個嚴格的模組化設施,但是Java 9新的分段程式碼快取將遵循模組化的思想,並享有一些相同的好處。
適用於Java 9模組化特性的工具:
- Apache Ant
Apache Ant是一個Java庫和命令列工具,用於構建Java應用程式。Ant專案管理委員會早些時候確保Ant將在2017年2月的Ant 1.10.1版本上執行Java 9。Java 9和模組化速度正在加快。它支援javac、java和JUnit任務的模組路徑和相關選項。
- Apache Maven
Apache Maven 3.7版本開始支援Java 9和模組化。
- 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新增哪些模組。
- JetBrains IntelliJ IDEA
從2017.2版開始,流行的IntelliJ IDEA開發環境開始全面支援Java 9的模組化。開發人員可以構建Java 9的模組化專案,就像使用模組路徑而不是類路徑一樣。還支援module-info.java檔案的開發,以及這些檔案的程式碼完成和快速修復。
尚未準備好支援Java 9模組化特性的工具:
- Gradle
Gradle軟體構建工具尚未完全支援Java 9,儘管其開發人員預計在2018年可以這樣做。目前,Gradle使用的開發人員可以通過變通方法嘗試模組化。
- Jenkins
用於軟體開發專案的持續整合和部署的Jenkins開源自動化伺服器尚不支援Java 9模組化仍在進行中。Cloud Bees技術長Kohsuke Kawaguchi表示,Cloud Bees在Jenkins社群領導著與Jenkins Java 9相容的工作。但他沒有給Jenkins提供Java 9相容性的大致日期。
總結
在本文中,我們討論了Java 9的模組化特性,還介紹了適用於這些新特性的工具。最後,列出了一些尚未準備好支援Java 9模組化特性的工具。
相關文章
- Java9新特性系列(深入理解模組化)Java
- 探祕Java9Java
- 深入探討 CSS 特性檢測 @supports 與 ModernizrCSS
- BI工具選擇的探討有感
- SQL優化器探討(zt)SQL優化
- Oracle Freelist和HWM原理探討及相關效能優化Oracle優化
- 掌握Java9模組化系統-基礎部分Java
- 掌握Java9模組化系統-進階部分Java
- 深入探討前端元件化開發前端元件化
- MySQL 大表優化方案探討MySql優化
- JAVA9新特性(一)Java
- Oracle Freelist和HWM原理探討及相關效能優化(轉)Oracle優化
- Oracle Freelist和HWM原理探討及相關效能最佳化Oracle
- 深入探討MySQL索引的設計原則及最佳化策略MySql索引
- Promise探討Promise
- Dataworks批量刷數優化方案探討優化
- Oracle Freelist和HWM原理探討及相關效能最佳化(1)Oracle
- Oracle Freelist和HWM原理探討及相關效能最佳化(2)Oracle
- Oracle Freelist和HWM原理探討及相關效能最佳化(3)Oracle
- Java9有哪些新特性?Java
- Java9系列第8篇-Module模組化程式設計Java程式設計
- 軟體開發週期估算及探討(轉)
- 深入探討 UndefinedUndefined
- IsPostBack深入探討
- Java9新特性系列(JShell)JavaJS
- Tornado原理淺析及應用場景探討
- Elasticsearch 線上實戰問題及解決方案探討Elasticsearch
- 深入探討 Chrome iOS 版測試及釋出流程ChromeiOS
- 移動App網路優化細節探討APP優化
- 開篇 | 模組化與解耦式開發在螞蟻金服 mPaaS 深度實踐探討解耦
- px em rem 探討REM
- with as探討時小插曲
- Oracle Stream 深入探討Oracle
- JdonFramework程式碼探討Framework
- Open Session In View 探討SessionView
- Java9新特性系列(Stream改進)Java
- Java9新特性系列(module&spi)Java
- Java9的新特性的總結Java