Maven将SVN修订添加到清单
我尝试使用buildnumber maven插件将我当前的SVN版本号添加到war的清单文件中 在pom.xml中,我添加了:Maven将SVN修订添加到清单,svn,maven,Svn,Maven,我尝试使用buildnumber maven插件将我当前的SVN版本号添加到war的清单文件中 在pom.xml中,我添加了: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<revisionOnScmFailure>0.0.1</revisionOnScmFailure>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>x ${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
因此无论出于何种原因,${buildNumber}
都不会被计算。(另外,revisionscmfaulure
选项似乎不起作用。(出于调试原因,我添加了“x”)
当我以maven build的形式运行项目时,会出现以下错误:
"Unknown lifecycle phase "create". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy."
“未知生命周期阶段”创建。必须以以下格式指定有效的生命周期阶段或目标:或:[:]:.可用的生命周期阶段包括:验证、初始化、生成源、流程源、生成资源、流程资源、编译、流程类、生成测试源、流程测试源、生成测试资源、流程测试资源、测试编译、流程测试类、测试、准备包、包、预集成测试、集成离子测试、集成后测试、验证、安装、部署、预清理、清理、清理后、预站点、站点、站点后、站点部署。“
但是,将目标更改为“创建”以外的任何内容都不能解决问题,并会导致验证程序错误。这就是它的工作原理,例如,(请参阅他们的):
org.codehaus.mojo
buildnumber maven插件
1.1
建筑编号
假的
假的
真的
产生资源
创造
maven jar插件
2.1
${project.version}
${buildNumber}
这就是它的工作原理,比如,(参见他们的):
org.codehaus.mojo
buildnumber maven插件
1.1
建筑编号
假的
假的
真的
产生资源
创造
maven jar插件
2.1
${project.version}
${buildNumber}
您是否尝试将maven war插件更新到当前版本(2.3)?@khmarbaise尝试过,没有效果。同样的问题。'build'和'create'不是Maven生命周期阶段。如果你尝试mvn包
,会怎么样?我认为该属性没有被评估,因为war是在package
阶段打包的,而validate
紧跟其后。尝试将validate
更改为package
(或准备包装
)。我想我发现了问题:当从cmd调用svn info
时,我收到一个错误,项目是subversion 1.6,需要更新。更新它和buildnumber maven插件
按预期工作。然而,这只是一个测试,将项目更新到1.7将导致大量工具(和其他开发人员)要停止工作:)所以现在不是选项。所以我将用1.6命令行客户端再次测试它。您是否尝试将maven war插件更新到当前版本(2.3)?@khmarbaise尝试过,没有效果。同样的问题。'build'和'create'不是Maven生命周期阶段。如果你尝试mvn包
,会怎么样?我认为该属性没有被评估,因为war是在package
阶段打包的,而validate
紧跟其后。尝试将validate
更改为package
(或准备包装
)。我想我发现了问题:当从cmd调用svn info
时,我收到一个错误,项目是subversion 1.6,需要更新。更新它和buildnumber maven插件
按预期工作。然而,这只是一个测试,将项目更新到1.7将导致大量工具(和其他开发人员)停止工作:)所以现在不是选项。所以我将再次使用1.6命令行客户端测试它。
"Unknown lifecycle phase "create". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy."
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<buildNumberPropertyName>buildNumber</buildNumberPropertyName>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
</configuration>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<configuration>
<archive>
<manifestEntries>
<ReXSL-Version>${project.version}</ReXSL-Version>
<ReXSL-Build>${buildNumber}</ReXSL-Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>