如何在命令行中覆盖插件的版本而不用更改pom.xml?
更具体地说:
我无法编译apache shiro commit 8dd6a13。原因是buildnumber-maven-plugin版本1.0-beta-4不再可用。 当我修改pom.xml并将插件版本更改为1.0时,我可以编译该项目。 我想保持项目不变,只是在从命令行运行mvn时设置插件的版本。 我很感激任何见解和帮助。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
</configuration>
</plugin>
答案 0 :(得分:3)
您可以使用maven属性设置默认版本,当您从命令行运行时,您可以覆盖它。
<properties>
<buildnumber.version>1.0-beta-4</buildnumber.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>${buildnumber.version}</version>
...
<plugin>
<plugins>
<build>
现在你可以运行,例如:
mvn clen install -Dbuildnumber.version=1.0
命令行中没有settings属性maven将使用pom.xml中的default