Maven 2 Maven包名称的标记

Maven 2 Maven包名称的标记,maven-2,hudson,Maven 2,Hudson,我使用maven/hudson来构建我的项目。hudson运行的目标之一是mvn包,所以我在每个构建中都有一个完整的发行版。是否有一种方法(可能是包的参数?)可以将构建编号附加到生成的归档文件的名称中 谢谢 Jeff您可以使用-D[key]=[value]将任意属性传递给Maven build,例如-DbuildNumber=1234,然后将pom中的版本配置为`1.0.0-${buildNumber}。不过,这种方法违背了一般的Maven原则。你最好使用Maven的处理。SNAPSHOT是Ma

我使用maven/hudson来构建我的项目。hudson运行的目标之一是mvn包,所以我在每个构建中都有一个完整的发行版。是否有一种方法(可能是包的参数?)可以将构建编号附加到生成的归档文件的名称中

谢谢


Jeff

您可以使用
-D[key]=[value]
将任意属性传递给Maven build,例如
-DbuildNumber=1234
,然后将pom中的版本配置为`1.0.0-${buildNumber}。不过,这种方法违背了一般的Maven原则。你最好使用Maven的处理。SNAPSHOT是Maven每次更新依赖项的关键字


您还可以使用每次自动向生成版本添加一个数字。有关详细信息,请参见此。buildnumber插件可以设置为根据SCM版本、时间戳或序列生成版本。

尝试以下操作。只有在设置了BUILD_NUMBER属性时,它才应该激活,这样在不使用hudson时,您仍然可以生成正确命名的构建

<profiles>
    <profile>
        <id>hudson-build</id>
        <activation>
            <property>
                <name>BUILD_NUMBER</name>
            </property>
        </activation>
        <build>
            <finalName>${artifactId}-${version}-${BUILD_NUMBER}</finalName>
        </build>
    </profile>
</profiles>

哈德逊大厦

.

我修复了对其他答案的引用,因为我正在阅读由roject版本实现的第一个链接,其中包含名称snapshot,但没有扩展。在我的POM中,我的版本列为0.0.1-SNAPSHOT,但zip名称(由mvn软件包创建)为-0.0.1-SNAPSHOT-package.zip。我是不是把它设置成可以适当扩展?哦,我看错了。我没有安装或释放。我只是将其作为Hudson工件的一部分,因此不会对此进行扩展。如果您正在创建zip,这意味着您正在使用程序集插件,
package
是程序集的id。是这样吗?您真的希望使用内部版本号创建程序集吗?是的。我们真的只是为了方便引用,所以如果有人从hudson提取发行版并遇到错误,他们可以引用它来自的版本号(而不需要尝试返回并记住他们从哪个版本下载)。我最终选择了这个解决方案,因为它更简单。这两个都是很好的答案。谢谢