Maven 2 如何在Maven中关闭jar压缩
Maven(2.0.9)中是否有关闭整个操作的jar压缩的选项?我在构建服务器和工作站中都使用Maven,我想在工作站构建中禁用jar压缩(仅限于开发)。但是,我不想接触所有的POM,并为每个POM创建两个版本Maven 2 如何在Maven中关闭jar压缩,maven-2,build,jar,Maven 2,Build,Jar,Maven(2.0.9)中是否有关闭整个操作的jar压缩的选项?我在构建服务器和工作站中都使用Maven,我想在工作站构建中禁用jar压缩(仅限于开发)。但是,我不想接触所有的POM,并为每个POM创建两个版本 是否有一个选项可以通过环境变量、文件或触摸单个pom.xml关闭jar压缩?好的,您可以通过配置文件定义不同的jar插件。这是可以接受的吗?显然,通过定义这一点: <profile><id>...</id> <build>
是否有一个选项可以通过环境变量、文件或触摸单个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插件
2.2
假的
这将关闭maven项目的jar文件压缩。最后我找到了这个主题的答案(关闭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>
***文件名***
org.apache.maven.plugins
maven编译器插件
2.3.2
${jdk.version}
${jdk.version}
org.apache.maven.plugins
maven jar插件
***package.test.ClassTest***
***假的***
@Ran Biron:我不完全确定,但您可能知道,您可以根据每个配置文件重新定义插件。我在多层次POM项目上做了很多工作,以测试配置文件选择是否传递给子POM,但我可以很好地想象可能是这样的。我想自己测试一下,但现在是离开办公室的时候了(详情请看我自己的答案)。谢谢。我提供了细节,最初的回答者提供了想法。2.我认为最好将“已接受”的部分想法交给另一个人,而不是交给我一个完整的想法。我建议你考虑改变选择的答案(尽管你希望分享荣誉的方式很好!)。对于试图找到一个有效解决方案的人来说,得到“被接受”的最佳答案真的很好。现在,被接受的答案实际上并没有回答这个问题。这在使用maven shade plugin
时似乎没有任何作用。有人知道如何在那里禁用压缩吗?但是如何只为一个工件关闭压缩?比如说一个密钥文件或者一些如果被压缩就无法使用的东西。。。