2009-06-23 36 views
8

在Maven(2.0.9)中是否有一个选项可以关闭整个操作的jar压缩?我在构建服务器和工作站中都使用Maven,并且希望在工作站构建中禁用jar压缩(仅限开发)。但是,我不想触碰所有的poms,并为每个poms创建两个版本。如何在Maven中关闭jar压缩

是否有一个选项可以通过环境变量,文件或通过触摸单个pom.xml关闭jar压缩?

回答

1

那么,你可以通过配置文件定义不同的jar插件。这可以接受吗?

+0

怎么样?它可以在顶层的pom.xml中完成吗? – 2009-06-23 14:11:41

+0

@Ran Biron:我不完全确定,但正如您所知,您可以根据个人资料重新定义插件。我已经在多层次的POM项目上做了很少的工作来测试是否将配置文件选择传递给子poms,但我可以很好的想象它可能是这样的。我会自己测试一下,但现在是离开办公室的时候了=) – mikek 2009-06-23 14:37:55

+0

查看我自己的答案了解详情。谢谢。 – 2009-06-23 14:39:25

15

显然,它是可以通过定义如下:

<profile><id>...</id> 
    <build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <configuration> 
        <archive> 
         <compress>false</compress> 
        </archive> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
    </build> 
</profile> 
在顶层的pom.xml

。作为一个方面说明 - 这并没有真正解决我的建设花费太多时间的最初问题。

10

将以下内容添加到项目的pom.xml文件中的build.plugins部分。

<plugin> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
     <archive> 
      <compress>false</compress> 
     </archive> 
    </configuration> 
</plugin> 

这会关闭您的maven项目的jar文件压缩。

1

终于让我找到这个题目的答案(转开瓶盖压缩),直接配置到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> 
相关问题