2013-02-19 388 views
1

我在this問題中提到了一種情況。Maven - 如何在父項目的pom中添加模塊作爲依賴關係

我有一個多模塊Maven項目與父項目P和兩個子模塊A和B.當我只有A作爲一個子模塊它工作正常。我在主項目中添加了一個新的源文件夾,創建了一個包並添加了一個類(我在這裏做錯了什麼?),我們稱之爲模塊B.現在我在包A中的類中的包B中導入類,但是A的POM不會被更新爲包含B作爲依賴項,因此當我嘗試編譯父項目時,它會給出錯誤未定義的符號B.

  1. 我是否錯誤地添加了項目B?因爲它沒有任何絨球?
  2. 如何在引用的問題中提到的在主項目的pom文件中添加B作爲依賴關係?

編輯:添加勁歌和代碼

這裏是一個項目的POM

<dependencies> 
    <dependency> 
     <groupId>javax.slee</groupId> 
     <artifactId>jain-slee</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.mobicents.servers.jainslee.core</groupId> 
     <artifactId>fault-tolerant-ra-api</artifactId> 
     <version>2.6.0.FINAL</version> 
    </dependency> 
    <dependency> 
     <groupId>org.mobicents</groupId> 
     <artifactId>hello-slee-world-sbb</artifactId> 
     <version>1.0</version> 
    </dependency> 
</dependencies> 

nowwhere已B的依賴提及。這裏是B的項目A.

import BPackage.*; 

參考這是怎麼了我用的B A.

只有一個在BPackage類名爲BClass。現在我問我是否錯誤地添加了軟件包,也就是說我需要添加一些東西嗎?所以它的POM被創建並且它的依賴被添加到A.

此外,我想在編譯父項時構建B和A,所以在這種情況下,我想我需要在父項Pom中添加A.這裏是父母的POM

<modules> 
    <module>sbb</module> 
    <module>customRAType-ratype</module> 
    <module>customAdaptor-ra</module> 
    <module>du</module> 
    </modules> 

customAdaptor-RA是項目中的

回答

2

您的項目中的每一個都需要有一個pom.xml。頂級項目需要有

<modules> 
    <module>project1</module> 
    <module>project2</module> 
</modules> 

如果project2取決於project1,你需要定義一個<dependency/>將其項目2的pom.xml裏面。

+2

只是澄清,對project1的依賴應該在project2的pom中,而不是在父pom中。 – 2013-02-19 16:12:42

+0

+1:應用於回答。 – carlspring 2013-02-19 17:07:46

+0

項目2(B)在項目1(A)中的依賴性沒有在項目2的團隊中提到。我正在使用m2e 1.2.0。我在問如何添加它,我正在添加一個項目的pom和主項目的pom – shabby 2013-02-20 05:53:37

相關問題