0
我有一個maven項目,我正在運行兩個單獨的版本。如何在maven項目中禁用命令行中的jar創建?
在一個構建中,我想通過禁用其中創建的Maven模塊的jar來保存構建時間(有45個maven模塊)。有一個Maven-Jar-Plugin被用來創建罐子。
我想在命令行中有條件地禁用jar創建,也就是尋找類似於-Dskiptests
的東西,雖然默認情況下有一個surefire插件,但用於跳過單元測試。
我有一個maven項目,我正在運行兩個單獨的版本。如何在maven項目中禁用命令行中的jar創建?
在一個構建中,我想通過禁用其中創建的Maven模塊的jar來保存構建時間(有45個maven模塊)。有一個Maven-Jar-Plugin被用來創建罐子。
我想在命令行中有條件地禁用jar創建,也就是尋找類似於-Dskiptests
的東西,雖然默認情況下有一個surefire插件,但用於跳過單元測試。
該maven-jar-plugin
does not provide任何跳過選項。
但是,有幾種方法可以實現您的要求。
你可能只是跳過它默認(via default mappings)罐子創作,也就是package
階段帶來的phase,因此簡單地調用,如果你做
mvn clean test
附加的階段就沒有意義無論如何不創建一個jar文件:package
,install
,deploy
將不會有任何處理。此外,根據您的集成測試策略(如果有的話),額外的集成階段也可能受到影響。
或者,你可以配置你的pom如下:
<properties>
<jar.creation>package</jar.creation>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>default-jar</id>
<phase>${jar.creation}</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
因此,默認的行爲仍然會提供一個罐子創作,在執行行家如下:
mvn clean install -Djar.creation=false
反而會跳過罐子的創建。
我們實際上做的:
maven-jar-plugin
package
-Djar.creation=none
也可以。
@Priyanka.Patil有幫助嗎?你沒有分享任何進一步的反饋,也沒有[接受](http://meta.stackexchange.com/q/5234/314893)。只是檢查。 –