我是一個maven新手。我的項目依賴於另一個Maven項目(ProjectA),因爲我需要在ProjectA上運行mvn clean package
,它給了我JarA。maven項目依賴項是一個生成的jar(不在maven倉庫中)
然後,我需要運行java JarA給它提供一個xml配置文件,它給了我另一個JarB。我需要JarA和JarB作爲依賴項目(ProjectB)。
是否有可能在projectB的pom文件中實現這些步驟?會有配置的父子模塊類型有幫助嗎?謝謝!
我是一個maven新手。我的項目依賴於另一個Maven項目(ProjectA),因爲我需要在ProjectA上運行mvn clean package
,它給了我JarA。maven項目依賴項是一個生成的jar(不在maven倉庫中)
然後,我需要運行java JarA給它提供一個xml配置文件,它給了我另一個JarB。我需要JarA和JarB作爲依賴項目(ProjectB)。
是否有可能在projectB的pom文件中實現這些步驟?會有配置的父子模塊類型有幫助嗎?謝謝!
也許吧。獲得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
聽起來像是你可能想利用Maven的模塊,如果這些項目是緊密依賴於他人。如果它們不是緊密依賴的(即它們是獨立和不同的項目),那麼你可能只想簡單地使用'mvn install'來將每個項目放入本地存儲庫。 – Crollster