我对maven有疑问。如何通过命令行选项禁用buildnumber-maven-plugin。我想在我们的持续集成服务器上运行“mvn test”命令,但是这个cmd失败了,因为它试图构建一个版本并且没有访问我们的vcs(在tag中配置)的权限。因此可以通过cmd选项禁用它,或者只运行测试而不构建新的发行版本?谢谢你的帮助。
答案 0 :(得分:7)
使用配置文件控制构建期间启用了哪些插件:
<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
答案 1 :(得分: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
答案 2 :(得分:0)
mvn clean install deploy -Dbuildnumber.phase=none
答案 3 :(得分:-1)
您可以跳过失败而无需更改项目pom.xml
。请在Disable maven build number plugin