所以我有类似的东西:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-properties</goal>
</goals>
<configuration>
<files>
<file>${user.home}/build.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
我有distributionManagement
喜欢:
<distributionManagement>
<repository>
<id>local-repo</id>
<url>file:///${deploy.dir}/${project.artifactId}</url>
</repository>
</distributionManagement>
我没有远程存储库,这就是我使用file:///
${deploy.dir}
是build.properties
文件中的属性,它不会获取该属性的值。
为什么呢?
答案 0 :(得分:4)
我建议使用构建配置文件来管理多个分发目标。例如:
<profiles>
<profile>
<id>repo1</id>
<distributionManagement>
<repository>
<id>repo1-release</id>
<url>http://.......</url>
</repository>
</distributionManagement>
</profile>
<profile>
<id>repo2</id>
<distributionManagement>
<repository>
<id>repo2-release</id>
<url>http://.......</url>
</repository>
</distributionManagement>
</profile>
..
</profiles>
调用部署目标时,您可以通过激活配置文件来选择目标:
mvn -Prepo1 clean deploy
答案 1 :(得分:2)
Mark的答案可能是要走的路,而且我正在做的是在我们的远程存储库的生产和测试实例之间切换。 Per a discussion I found听起来您可以加载属性以便在以后的插件配置中使用,但核心maven模型元素(如<distributionManagement>
)仅在POM的初始加载时解释属性。
(移动评论以回答每个OP请求。)