我想致电
mvn clean install -Dsomeproperty=1.2.3-20110526-1836
获取
artifact-1.2.3-20110526-1836.jar
而不是
artifact-1.2.3-SNAPSHOT.jar
如何将该时间戳传递给maven?
答案 0 :(得分:3)
pom.xml中的以下工件设置似乎正在执行您想要的操作:
<groupId>testgroup</groupId>
<artifactId>testartifact</artifactId>
<version>${someproperty}</version>
现在,如果您执行“mvn clean install -Dsomeproperty = 1.1.timestamp”,则生成的jar文件的名称中也包含时间戳。
我不确定这是否是你要找的。 p>
修改
另一种解决方案,因为pom文件无法更改。
正常执行“mvn clean install”命令。这会生成一个jar文件,如artifact-1.2.3-SNAPSHOT.jar。
再次安装此文件 - 这次使用“mvn install:install-file -Dfile = artifact-1.2.3-SNAPSHOT.jar -DgroupId = testgroup -DartifactId = testartifact -Dversion = 1.2.3-123456-1234 -Dpackaging = jar。这将在本地存储库中安装artifact-1.2.3-123456-1234.jar
答案 1 :(得分:0)
最快的黑客就是运行
mvn clean install --offline
这样可以防止从远程回购加载您的夜间构建。
您也可以使用settings.xml
答案 2 :(得分:0)
虽然这将按照您的指定执行:
<project ...>
<properties>
<someproperty>somproperty-default-value</someproperty>
</properties>
<build>
<finalName>artifact-${someproperty}</finalName>
....
</build>
....
</project>
我建议使用这个:How do I add time-stamp information to Maven artifacts?