我遇到問題了,我有一個基於包含模塊的系統的項目。這些模塊是其他Maven項目,並從系統POM引用。我的問題是我與同事共享系統項目,我們有不同的模塊。只有在存在Maven依賴項時才存在
那麼,有沒有辦法告訴Maven我只想包含一個在我的POM中引用的模塊,只要這個模塊存在?我的意思是,沒有編譯失敗。
謝謝!
我遇到問題了,我有一個基於包含模塊的系統的項目。這些模塊是其他Maven項目,並從系統POM引用。我的問題是我與同事共享系統項目,我們有不同的模塊。只有在存在Maven依賴項時才存在
那麼,有沒有辦法告訴Maven我只想包含一個在我的POM中引用的模塊,只要這個模塊存在?我的意思是,沒有編譯失敗。
謝謝!
使用dependencyManagementis將所有依賴信息拉入公共POM文件,簡化了子POM文件中的引用。
有幾種解決方案,取決於您可以做什麼/想要達到什麼。
一種方法是在貴公司安裝Maven存儲庫服務器(在本地局域網或您和您的同事共享的局域網中)。建立系統,然後將模塊deploy發送到服務器。
在你的構建,你可以添加這個新的服務器是這樣的(documentation):
<project>
...
<repositories>
<repository>
<id>my-internal-site</id>
<url>http://myserver/repo</url>
</repository>
</repositories>
...
</project>
或者你也可以複製兩者基本系統,並與當地mvn install
建立它。這會將所有工件複製到本地緩存中。
從那裏,你可以像往常一樣引用它們。您不需要包含所有模塊;只是你真正需要的。這樣,你和你的朋友就不必使用相同的依賴關係。
我建議使用profiles並在file/exists
選項上激活它們。
我想你可以聲明它是可選的。 http://maven.apache.org/pom.html#Dependencies –
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html –