在Maven(2.0.9)中是否有一個選項可以關閉整個操作的jar壓縮?我在構建服務器和工作站中都使用Maven,並且希望在工作站構建中禁用jar壓縮(僅限開發)。但是,我不想觸碰所有的poms,併爲每個poms創建兩個版本。如何在Maven中關閉jar壓縮
是否有一個選項可以通過環境變量,文件或通過觸摸單個pom.xml關閉jar壓縮?
在Maven(2.0.9)中是否有一個選項可以關閉整個操作的jar壓縮?我在構建服務器和工作站中都使用Maven,並且希望在工作站構建中禁用jar壓縮(僅限開發)。但是,我不想觸碰所有的poms,併爲每個poms創建兩個版本。如何在Maven中關閉jar壓縮
是否有一個選項可以通過環境變量,文件或通過觸摸單個pom.xml關閉jar壓縮?
那麼,你可以通過配置文件定義不同的jar插件。這可以接受嗎?
顯然,它是可以通過定義如下:
<profile><id>...</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<configuration>
<archive>
<compress>false</compress>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
在頂層的pom.xml
。作爲一個方面說明 - 這並沒有真正解決我的建設花費太多時間的最初問題。
將以下內容添加到項目的pom.xml文件中的build.plugins部分。
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<compress>false</compress>
</archive>
</configuration>
</plugin>
這會關閉您的maven項目的jar文件壓縮。
終於讓我找到這個題目的答案(轉開瓶蓋壓縮),直接配置到POM,我也發現了另外兩個有趣的細節:把一個不同的JAR的名字和包括「清單」的定義。這是我的pom片段。
<build>
<finalName>***FileName***</finalName>
<plugins>
<!-- Set a JDK compiler level -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
<!-- Make this jar executable -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<!-- Jar file entry point -->
<mainClass>***package.test.ClassTest***</mainClass>
</manifest>
<compress>***false***</compress>
</archive>
</configuration>
</plugin>
</plugins>
</build>
怎麼樣?它可以在頂層的pom.xml中完成嗎? – 2009-06-23 14:11:41
@Ran Biron:我不完全確定,但正如您所知,您可以根據個人資料重新定義插件。我已經在多層次的POM項目上做了很少的工作來測試是否將配置文件選擇傳遞給子poms,但我可以很好的想象它可能是這樣的。我會自己測試一下,但現在是離開辦公室的時候了=) – mikek 2009-06-23 14:37:55
查看我自己的答案瞭解詳情。謝謝。 – 2009-06-23 14:39:25