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