2012-04-29 62 views
0

我有一個依賴於模塊B(都是項目中的子模塊)中的類的maven模塊A作爲模塊取出一個maven項目的一部分

Apom.xml我有以下幾點:

<dependencies> 
    <dependency> 
     <groupId>test.pack</groupId> 
     <artifactId>B</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 
    </dependencies> 

但是當我嘗試建立A,該B不會出現在依賴正確的,我在那是類出現編譯錯誤在Atest.pack.packFromA包中的導入語句中,看起來像import test.pack.packFromB.*

因此,我的B依賴項無法正常工作。但我認爲B中的類將被打包並添加到類路徑中,所以我可以使用它們。我試圖在該依賴項中添加<type>,但這並沒有幫助。我在這裏做錯了什麼?提前致謝。

編輯: 父母pom.xml<modules>部分看起來像這樣:

<modules> 
    <module>B</module> 
    <module>A</module> 
    </modules> 

這裏是我的錯誤:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project A: Compilation failure: Compilation failure:

+0

您可以添加父pom的部分嗎?如果你在模塊A中引用模塊B,它應該在模塊A – Lexandro 2012-04-29 10:39:15

+0

@Lexandro之前編譯。感謝你的回覆,我現在將添加它。我也嘗試在我的Maven本地存儲庫中移動B的戰爭,但它不起作用。它需要完成嗎? – 2012-04-29 10:42:22

+0

@Lexandro我也添加了錯誤,並且,對不起,如果A和B名稱使這個描述不是一個好的描述。 – 2012-04-29 11:12:18

回答

1

你有沒有做過模塊B mvn install,你想之前構建模塊A?

(如果您使用「mvn package」而不是mvn install,模塊B將不會放入回購站中,因此在構建模塊A時Maven將無法找到它)。

另外,你有沒有嘗試從父模塊構建多模塊項目? (當你這樣做時,Maven將建立在正確的順序模塊)

如果這不是它,驗證所引用位於src/main/java/test/pack/packFromB下模塊B.如果他們src/test/java..下的類,你需要一個特定的類型對此的依賴。

希望有所幫助。

+0

感謝您的回答。是的,我做了所有這些,文件夾結構應該是正確的。但是,可能安裝並不像我想象的那麼成功,所以我會盡力重做所有這些。 – 2012-04-29 11:57:49

+0

我會將這一個標記爲最佳答案,因爲只要我沒有完整描述我的問題,它就會很好。事實上,我試圖增加戰爭依賴,這似乎是一個壞主意。但後來我做了單獨的jar依賴,安裝和清理。現在它就像一個魅力(我很高興地說:)),非常感謝,它仍然是一個有用的答案。 – 2012-04-29 13:32:55

+0

甜!是的,如果我沒有記錯,取決於戰爭會爆炸那場戰爭,並將其納入你的戰爭。 – 2012-04-30 10:30:03

相關問題