默認情況下,在我的項目POM中,exec-maven-plugin, rpm-maven-plugin
將被執行, 在本地編譯/構建中不需要。從Maven中的命令行參數跳過exec-maven-plugin
我想跳過這些插件執行通過傳遞命令行參數 我試過下面的命令跳過他們像正常的插件,但沒有工作,但!
MVN安裝-Dmaven.test.skip =真-Dmaven.exec.skip =真 -Dmaven.rpm.skip =真
默認情況下,在我的項目POM中,exec-maven-plugin, rpm-maven-plugin
將被執行, 在本地編譯/構建中不需要。從Maven中的命令行參數跳過exec-maven-plugin
我想跳過這些插件執行通過傳遞命令行參數 我試過下面的命令跳過他們像正常的插件,但沒有工作,但!
MVN安裝-Dmaven.test.skip =真-Dmaven.exec.skip =真 -Dmaven.rpm.skip =真
這page應該告訴你的是,參數的名稱被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
使用配置文件(儘可能少)和執行階段,你可以實現你想要什麼,不插件處理跳過屬性:
插件配置:
<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 [...]
感謝。不知何故,我錯過了。你能告訴我一下rpm-maven-plugin嗎?我已經看到他們的項目頁面,找不到任何東西:( – Reddy 2014-10-30 03:12:01
rpm-maven-plugin沒有跳過屬性,這就是爲什麼你找不到它。AFAIK rpm是結束/包結果,所以我想知道恕我直言,大多數情況下,如果你需要跳過某些東西,這表明你的進程或你的POM結構/層次結構是不正確的。 – 2014-10-30 20:32:52
它在本地Macbook中不起作用。有mac os的問題,我只是想跳過本地生成 – Reddy 2014-10-31 08:03:51