我有多模塊maven項目,主項目依賴於子模塊。子模塊的每個依賴關係都由以下版本定義:${pom.version}
。我使用Maven發佈插件。如果我嘗試準備發佈,我有關於子模塊版本丟失的錯誤。多模塊應用程序maven
例子:
主要POM是1.0
版本,我嘗試將其釋放。 Maven將每個子模塊構建到版本1.1
,然後嘗試構建父代,然後崩潰。因爲找不到sub-module-1.1
。
我不知道如何告訴maven構建,並立即安裝到local-repo構建的每個子模塊。我使用maven2。
我POM:
<modelVersion>4.0.0</modelVersion>
<groupId>com.voncuver</groupId>
<artifactId>voncuver</artifactId>
<packaging>pom</packaging>
<version>1.1-SNAPSHOT</version>
<name>multimodule</name>
<modules>
<module>mod1</module>
<module>mod2</module>
</modules>
(...)
<dependencyManagement>
<dependencies>
<dependency>
<artifactId>mod1</artifactId>
<groupId>com.voncuver</groupId>
<version>${pom.version}</version>
</dependency>
<dependency>
<artifactId>mod2</artifactId>
<groupId>com.voncuver</groupId>
<version>${pom.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
(...)
您是否明確將每個子模塊的版本設置爲$ {pom.version}?版本屬性繼承自父... – 2012-08-13 14:41:04
首先你可以發佈你的pom的(摘錄是好的)此外不要使用pom.version更好的是project.version – khmarbaise 2012-08-13 14:43:13
發佈插件會自動更新反應器內的依賴版本,所以實際上沒有必要引用$ {project.version}也請記住,@khmarbaise表示$ {pom.version}不贊成使用$ {project.version} – 2012-08-14 08:10:05