我正在寻求改进我在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 有什么改进的想法吗?