2013-11-25 168 views
0

我是一個maven新手。我的項目依賴於另一個Maven項目(ProjectA),因爲我需要在ProjectA上運行mvn clean package,它給了我JarA。maven項目依賴項是一個生成的jar(不在maven倉庫中)

然後,我需要運行java JarA給它提供一個xml配置文件,它給了我另一個JarB。我需要JarA和JarB作爲依賴項目(ProjectB)。

是否有可能在projectB的pom文件中實現這些步驟?會有配置的父子模塊類型有幫助嗎?謝謝!

+1

聽起來像是你可能想利用Maven的模塊,如果這些項目是緊密依賴於他人。如果它們不是緊密依賴的(即它們是獨立和不同的項目),那麼你可能只想簡單地使用'mvn install'來將每個項目放入本地存儲庫。 – Crollster

回答

0

也許吧。獲得JarB最簡單的解決方案是向項目A添加單元測試。但是這並不能告訴Maven關於這個JAR,所以它會忽略它。

下一步將是測試將JarB編寫爲JarA-config到項目A的target/文件夾中。Maven支持將多個構件作爲「構建結果」。然後你可以使用「限定詞」來區分它們。使用告訴Maven有關第二個JAR的信息。例如,請參閱「Attach additional artifacts to your project」。

請注意,package發生在test之後,因此您的測試用例可以創建第二個JAR,然後build-helper將會找到它。

在項目B,然後你可以使用這個取決於雙方的JAR

<dependency> 
    <groupId>x</groupId> 
    <artifactId>jarA</artifactId> 
</dependency> 
<dependency> 
    <groupId>x</groupId> 
    <artifactId>jarA</artifactId> 
    <classifier>config</classifier> 
</dependency> 

注意額外<classifier>元素。

注:對於這個工作,你需要在項目A.運行mvn install

相關問題