Maven将SVN修订添加到清单

Maven将SVN修订添加到清单,svn,maven,Svn,Maven,我尝试使用buildnumber maven插件将我当前的SVN版本号添加到war的清单文件中 在pom.xml中,我添加了: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>

我尝试使用buildnumber maven插件将我当前的SVN版本号添加到war的清单文件中

在pom.xml中,我添加了:

         <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>