Maven定制版最佳实践

时间:2015-07-16 08:01:45

标签: java maven jenkins tortoisesvn versioning

我正在寻求改进我在maven中管理版本的方式,以便在应用程序界面和MANIFEST文件中看到该版本。目前我在我的root pom.xml中有这些属性:

<properties>
   <build.number>268</build.number>
    <svn.revision>10096</svn.revision>
    <jira.version>1.0.19</jira.version>
    <project.web.version>${jira.version}.${svn.revision}_${build.number}</project.web.version>
</properties>

在我的EAR pom.xml中,我将这些属性添加到MANIFEST文件中:

<manifest>
    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
    </manifest>
    <archive>
        <manifestEntries>
            <Specification-Title>${project.name}</Specification-Title>
            <Specification-Version>${svn.revision}</Specification-Version>
            <Implementation-Version>${build.number}</Implementation-Version>
        </manifestEntries>
    </archive>

在web模块pom.xml中,我使用一个插件替换脚本中的版本,在该脚本中,将使用project.web.version中的值在应用程序界面中显示该版本。

    <groupId>com.google.code.maven-replacer-plugin</groupId>
    <artifactId>replacer</artifactId>
    <version>1.5.3</version>
    <executions>
        <execution>
            <phase>prepare-package</phase>
            <goals>
                <goal>replace</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <ignoreMissingFile>true</ignoreMissingFile>
        <file>${basedir}\src\main\webapp\Commons\Libraries\jsAppVersion.js</file>
        <token>(\").*?(\")</token>
        <regex>true</regex>
        <value>"${project.web.version}"</value>
    </configuration>
</plugin>

使用maven设置值:package -Dbuild.number = 277 -Dsvn.revision = 10235 -Djira.version = 1.0.20 有什么改进的想法吗?

0 个答案:

没有答案