令牌为Maven包名称

时间:2009-10-06 18:52:54

标签: maven-2 hudson

我使用maven / hudson来构建我的项目。 hudson运行的目标之一是mvn包,所以我在每个构建中都有完整的分发。有没有办法(可能是包的参数?)我可以将内部版本号附加到生成的存档名称上吗?

感谢,

杰夫

2 个答案:

答案 0 :(得分:2)

尝试以下方法。它应该仅在设置了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>

我建议将其放入一个基本的pom.xml中,然后可以将其作为其他pom.xml配置的父级引用。

有关hudson传递给maven版本的其他属性的列表,请参阅http://weblogs.java.net/blog/johnsmart/archive/2008/03/using_hudson_en.html

答案 1 :(得分:1)

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

您还可以使用buildnumber-maven-plugin每次自动为构建版本添加一个数字。有关详细信息,请参阅此answer。 buildnumber插件可以设置为根据SCM修订版,时间戳或序列生成修订版。