5

我对 Maven 有疑问。如何通过命令行选项禁用 buildnumber-maven-plugin。我想在我们的持续集成服务器上运行“mvn test”命令,但是这个 cmd 失败了,因为它试图构建一个版本并且没有访问我们的 vcs(在标签中配置)的权限。所以可以通过 cmd 选项禁用它或者只运行测试而不构建新的发布版本?谢谢你的帮助。

4

4 回答 4

9

使用配置文件来控制在构建期间启用哪些插件:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.me.test</groupId>
    <artifactId>demo</artifactId>
    <version>1.0</version>
    ..
    ..
    <profiles>
        <profile>
            <id>with-scm</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>buildnumber-maven-plugin</artifactId>
                        <version>1.0</version>
                        <executions>
                            <execution>
                                <phase>validate</phase>
                                <goals>
                                    <goal>create</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <doCheck>true</doCheck>
                            <doUpdate>true</doUpdate>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>

可以通过运行 Maven 来启用配置文件,如下所示:

mvn -Pwith-scm package
于 2012-03-24T13:12:23.733 回答
4

一种方法是使用 pom 中的属性来指定内部版本号插件的执行阶段,如下所示。

<project>
  ..
  <properties>
    <buildnumber.plugin.phase>validate</buildnumber.plugin.phase>
    ..
  </properties>
  ..
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>buildnumber-maven-plugin</artifactId>
      <version>1.2</version>
      <executions>
        <execution>
          <phase>${buildnumber.plugin.phase}</phase>
          <goals>
            <goal>create</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        ..
      </configuration>
    </plugin>
  </plugins>
  ..
</project>

然后在命令行中提供该属性以禁用插件,如下例所示。

mvn install -Dbuildnumber.plugin.phase=none
于 2013-04-08T13:17:17.727 回答
0
mvn clean install deploy -Dbuildnumber.phase=none
于 2016-10-22T03:31:11.160 回答
0

您可以跳过失败而不更改pom.xml项目。请查看我在禁用 maven 内部版本号插件的回答

于 2019-05-07T21:04:46.623 回答