2012-10-09 49 views
5

我正在使用maven assembly plugin。在我的pom.xml中,pakaging類型:jar和我不使用maven jar插件。刪除在maven中默認創建的jar文件

每當我運行mvn clean package時,它會創建2個jar文件:一個來自maven assembly,另一個默認創建(由於packaging type = jar)。我只想保留僅由assembly插件創建的jar文件。怎麼做?

+1

爲什麼不使用默認創建的(maven-jar-plugin)? – khmarbaise

回答

12

你可能有你的理由,但我懷疑這是跳過正在構建和部署的默認jar的好方案。

無論如何,這裏是如何禁用正在構建的默認jar。

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.3</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <id>make-assembly</id> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <!-- some configuration of yours... --> 
      </configuration> 
     </plugin> 
     <plugin> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.3.1</version> 
      <executions> 
       <execution> 
        <id>default-jar</id> 
        <!-- put the default-jar in the none phase to skip it from being created --> 
        <phase>none</phase> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
+0

感謝maba。有用。在我的jar文件中,我需要在其中嵌入一些其他jar,xml配置文件。這就是我使用maven-assembly的原因(我不知道maven jar是否可以幫助我做到這一點)。而且由於缺省創建的jar文件是無用的(由於缺少嵌入的其他文件)。所以我更喜歡停止創建它。並且只能通過maven-assembly創建jar文件 – David

+1

我做了相同的步驟,但對我來說默認的jar仍然被創建。 –