2011-03-23 15 views
1

我有一個多模塊項目。Maven:使用程序集作爲結果artefact - appendAssemblyId == false?

最後一個模塊是「彙編」,它旨在將幾個模塊的.jar放在一個大的.jar文件中,我可以將其用於分發。 該模塊並沒有別的,所以我這樣做:

<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
      <appendAssemblyId>false</appendAssemblyId> 
      ... 
     </configuration> 
    </plugin> 
    </plugins> 

我希望這種行爲能夠簡單地從IDE運行生成JAR(NetBeans的7.0)。

Maven的不正是我想要的,但這樣說:

[assembly:single] 
Reading assembly descriptor: src/assembly/assembly.xml 
Building jar: /mnt/ssd1/_projekty/JBoss/bots/JawaBot/2.0/assemble/target/JawaBot-assemble-2.0.0-SNAPSHOT.jar 
Configuration options: 'appendAssemblyId' is set to false, and 'classifier' is missing. 
Instead of attaching the assembly file: /mnt/ssd1/_projekty/JBoss/bots/JawaBot/2.0/assemble/target/JawaBot-assemble-2.0.0-SNAPSHOT.jar, it will become the file for main project artifact. 
NOTE: If multiple descriptors or descriptor-formats are provided for this project, the value of this file will be non-deterministic! 
Replacing pre-existing project main-artifact file: /mnt/ssd1/_projekty/JBoss/bots/JawaBot/2.0/assemble/target/JawaBot-assemble-2.0.0-SNAPSHOT.jar 
with assembly file: /mnt/ssd1/_projekty/JBoss/bots/JawaBot/2.0/assemble/target/JawaBot-assemble-2.0.0-SNAPSHOT.jar 

此消息好像這不是一個推薦的方式來實現我的目標。 有沒有更好的?

回答

2

程序集插件將使用包含描述符中程序集ID的'分類程序'創建工件。它不會創建主神器AFAICT。

您可能會對maven-shade-plugin感到高興,再加上配置maven-jar-plugin來設置清單類名稱,以便java -jar能夠正常工作。陰影插件可以產生主要僞像。

+0

+1爲maven-shade-plugin的minimJar功能! – 2013-01-18 21:02:27

相關問題