2017-08-04 123 views
3

我在同一個文件夾中有兩個不同的項目:com.jdojo.addresscom.jdojo.person。首先有一個簡單的POJO類Address和默認包下一個module-info.java:這裏無法從module-info.java中找到模塊

module com.jdojo.address { 
    exports com.jdojo.address; 
} 

沒有錯誤。

com.jdojo.person項目中,我有一個Person類,它使用前一個屬性的Address屬性。該module-info.java

module com.jdojo.person { 
    requires com.jdojo.address; 
    exports com.jdojo.person; 
} 

我在requires行錯誤:

模塊未找到:com.jdojo.address

我都用NetBeans IDE的開發這個問題(Build 201708030001)IntelliJ IDEA 2017.2.1

├───com.jdojo.address 
│ ├───.idea 
│ │ └───inspectionProfiles 
│ ├───nbproject 
│ │ └───private 
│ └───src 
│  └───com 
│   └───jdojo 
│    └───address 
├───com.jdojo.intro 
│ ├───.idea 
│ │ ├───inspectionProfiles 
│ │ └───libraries 
│ ├───build 
│ │ ├───classes 
│ │ │ └───com 
│ │ │  └───jdojo 
│ │ │   ├───address 
│ │ │   ├───intro 
│ │ │   └───person 
│ │ ├───empty 
│ │ └───generated-sources 
│ │  └───ap-source-output 
│ ├───dist 
│ ├───nbproject 
│ │ └───private 
│ ├───src 
│ │ └───com 
│ │  └───jdojo 
│ │   └───intro 
│ └───test 
├───com.jdojo.person 
│ ├───.idea 
│ │ └───inspectionProfiles 
│ ├───nbproject 
│ │ └───private 
│ ├───src 
│ │ └───com 
│ │  └───jdojo 
│ │   └───person 
│ └───test 
├───lib 
├───mods 
│ └───com.jdojo.intro 
│  └───com 
│   └───jdojo 
│    └───intro 
└───src 
    └───com.jdojo.intro 
     └───com 
      └───jdojo 
       └───intro 

這些模塊,信息和Java類路徑

C:\Java9Revealed\com.jdojo.address\src\module-info.java 
C:\Java9Revealed\com.jdojo.address\src\com\jdojo\address\Address.java 

C:\Java9Revealed\com.jdojo.person\src\module-info.java 
C:\Java9Revealed\com.jdojo.person\src\com\jdojo\person\Person.java 
+1

這是IntelliJ完全相同的消息嗎?當只添加隨機模塊作爲依賴項時,它會在模塊信息中顯示爲紅色,因爲IntelliJ模塊也需要具有相應的依賴關係。否則,你會得到「模塊不在依賴關係中......」,但快速修復會添加它。如果這不是問題,你能分享確切的文件夾佈局嗎? – Nicolai

+0

在Intellij中我有相同的消息'找不到模塊:com.jdojo.address'。我已經添加了文件夾的樹,如果可以幫助,我已經離開了其他以前的項目'com.jdojo.intro'。 – MrSir

回答

4

the Quick Start guide,這是慣例把源代碼的模塊命名的文件夾中。在這種情況下,文件夾結構應該是:

com.jdojo.address/src/com.jdojo.address/module-info.java 
com.jdojo.address/src/com.jdojo.address/com/jdojo/address/Address.java 

com.jdojo.person/src/com.jdojo.person/module-info.java 
com.jdojo.person/src/com.jdojo.person/com/jdojo/person/Person.java 

這是使用命令行工具進行實驗的獨立於任何IDE的照明。我已經說明了這種情況here

+0

我已將它們添加到末尾 – MrSir

+0

不幸的是,我不知道這意味着什麼。你補充了什麼? –

+0

在帖子結尾,我已經添加了我的地址,人員和模塊信息路徑 – MrSir