在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