[英]Skip exec-maven-plugin from Command Line Argument in Maven
默認情況下,在我的項目POM, exec-maven-plugin, rpm-maven-plugin
將執行exec-maven-plugin, rpm-maven-plugin
,這在本地編譯/構建中是不需要的。
我想通過傳遞命令行參數來跳過這些插件執行,我嘗試下面的命令跳過它們像普通的插件,但不起作用!
mvn install -Dmaven.test.skip = true -Dmaven.exec.skip = true -Dmaven.rpm.skip = true
此頁面應該告訴您cmdline傳遞的參數的名稱(即用戶屬性)稱為skip
,這是一個選擇不當的名稱。 要解決此問題,請執
<properties>
<maven.exec.skip>false</maven.exec.skip> <!-- default -->
</properties>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<skip>${maven.exec.skip}</skip>
</configuration>
</plugin>
從規范中嘗試-Dexec.skip
:
http://www.mojohaus.org/exec-maven-plugin/java-mojo.html#skip
使用配置文件(盡可能少)和執行階段,您可以實現您想要的不處理skip屬性的插件:
插件配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<executions>
<execution>
<phase>${rpmPackagePhase}</phase>
<id>generate-rpm</id>
<goals>
<goal>rpm</goal>
</goals>
</execution>
</executions>
<configuration>
...
</configuration>
</plugin>
配置配置:
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<rpmPackagePhase>none</rpmPackagePhase>
</properties>
</profile>
<profile>
<id>rpmPackage</id>
<activation>
<property>
<name>rpm.package</name>
<value>true</value>
</property>
</activation>
<properties>
<rpmPackagePhase>package</rpmPackagePhase>
</properties>
</profile>
</profiles>
調用:
mvn package -Drpm.package=true [...]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.