Maven 2 如何使用maven打包特定版本?

Maven 2 如何使用maven打包特定版本?,maven-2,maven,Maven 2,Maven,我想打电话 mvn clean install -Dsomeproperty=1.2.3-20110526-1836 得到 artifact-1.2.3-20110526-1836.jar 而不是 artifact-1.2.3-SNAPSHOT.jar 如何将该时间戳传递给maven???pom.xml中的以下工件设置似乎正在执行您想要的操作: <groupId>testgroup</groupId> <artifactId>testartifact&l

我想打电话

mvn clean install -Dsomeproperty=1.2.3-20110526-1836
得到

artifact-1.2.3-20110526-1836.jar
而不是

artifact-1.2.3-SNAPSHOT.jar

如何将该时间戳传递给maven???

pom.xml中的以下工件设置似乎正在执行您想要的操作:

<groupId>testgroup</groupId>
<artifactId>testartifact</artifactId>
<version>${someproperty}</version>
现在,如果执行mvn clean install-Dsomeproperty=1.1.timestamp,则生成的jar文件的名称中也包含时间戳

我不确定这是否是你要找的

编辑

另一个解决方案,因为pom文件无法更改

正常执行mvn clean install命令。这将生成一个jar文件,如artifact-1.2.3-SNAPSHOT.jar


再次安装此文件-这次使用mvn安装:安装文件-Dfile=artifact-1.2.3-SNAPSHOT.jar-DgroupId=testgroup-DartifactId=testartifact-Dversion=1.2.3-123456-1234-dpackage=jar。这将在本地存储库中安装artifact-1.2.3-123456-1234.jar

     mvn clean install --offline
这将阻止从远程repo加载夜间构建


您还可以玩settings.xml,同时执行您指定的操作:

<project ...>
    <properties>
         <someproperty>somproperty-default-value</someproperty>
    </properties>
    <build>
        <finalName>artifact-${someproperty}</finalName>
        ....
    </build>
    ....
</project>

我建议您这样做:

您不应该将版本1.2.3-20110526-1836放入pom.xml中吗?为什么要这样做?如果您想阻止从远程存储库下载工件,请使用-offline开关。我们有一个每晚生成时间戳版本的构建,我想用本地更改覆盖它们。这是一个大的构建,所以我只能偶尔玩一些属性。我不想更改POM。是的,很接近。但是正如我所说的,我不想编辑pom.xml,它是由一个特殊的团队维护的。我想设置-Dproject.version=1.2.3-123456-1234,但这不起作用。我该怎么做呢?正确。没有注意到您对pom性质的要求。那么,我建议另一种方法。正常执行mvn clean install命令。这将生成一个jar文件,如artifact-1.2.3-SNAPSHOT.jar。现在,再次安装此文件-这次使用mvn安装:安装文件-Dfile=artifact-1.2.3-SNAPSHOT.jar-DgroupId=testgroup-DartifactId=testartifact-Dversion=1.2.3-123456-1234-dpackage=jar。这将在本地存储库中安装artifact-1.2.3-123456-1234.jar。