1. 程式人生 > >在IDEA中建立Java 9 modules(模組)的Hello World

在IDEA中建立Java 9 modules(模組)的Hello World

So,那就讓我們來一探究竟什麼是模組化工程。首先,我們建立一個普通的模組工程 IntelliJ IDEA module 其中包含了改變世界的偉大的 “Hello World” 。

A simple application

IntelliJ IDEA 會引導你在工程中為你的模組建立一個module-info.java

Create new module-info.java

module-info.java 將為你提供一個基礎的模組程式碼結構。

Default module-info.java

一切聽指揮,黨會指引你正確的道路!
此時,當你在按照以往那樣使用一個Java類時,你就會看到模組化帶來的新姿勢。

Error using Logger

Here,IntelliJ IDEA可以幫助你找出問題所在,並提出修復建議。

Add requires to module-info.java

如你所料,進行這個操作之後IntelliJ IDEA對module-info.java

檔案進行了正確的更改。

Requires added

當然,你也可以嘗試自己編輯module-info.java檔案,IDEA 會給你完整的補全和提示資訊。

Code completion in module-info.java

快速修復不僅可用於標準Java模組,還可幫助您自己編寫模組程式碼。如果您嘗試訪問另一個IntelliJ IDEA模組中的程式碼,從一個模組的內部來使用模組化特性 (module-info.java檔案中會有提示), IntelliJ IDEA 將會提示你如果沒有進行正確的更改,是不能執行的。

Using other modules

首先,有很多提示來幫助你完成更改,所以,一旦module-info.java 檔案所在的模組下有java檔案,你可以快速補齊後面的包路徑。

Code completion for exports

回到這個被匯入模組的類中來,使用Alt 和 Enter 來獲取fix建議。這裡有兩個步驟:firstly, 模組 one

需要依賴模組two。一旦此操作完成,模組onemodule-info.java檔案就能關聯模組two.

Quick fixes for using modules

這裡有兩個模組,需要格外注意的是:firstly, the IntelliJ IDEA modules 你可能已經熟悉; and secondly, 新的 Java 9 (Jigsaw) 模組被指定使用module-info.java。 要使用Java模組化特性,每個Java 9模組都需要對應於IntelliJ IDEA模組。還要注意的是(IntelliJ IDEA 2017.1中的最後一個示例所示),需要宣告IntelliJ IDEA模組依賴關係以及Java 9模組依賴關係。所以在最後一個例子中,模組one

依賴模組two:

IntelliJ IDEA module dependencies

但是在module-info.java檔案中也需要宣告它是關聯模組two的:

Module-info dependency