【问题标题】:Maven: Use assembly as resulting artefact - appendAssemblyId == false?Maven:使用程序集作为结果工件 - appendAssemblyId == false?
【发布时间】:2011-03-23 00:52:00
【问题描述】:

我有一个多模块项目。

最后一个模块是“assemble”,它旨在将几个模块的 .jar 放在一个大 .jar 中,我可以将其用于分发。 这个模块什么都不做,所以我这样做了:

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

我希望这种行为能够简单地从 IDE (NetBeans 7.0) 运行生成的 jar。

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

此消息似乎不是实现目标的推荐方式。 有没有更好的?

【问题讨论】:

    标签: maven replace maven-assembly-plugin artifact


    【解决方案1】:

    程序集插件将创建一个带有“分类器”的工件,该“分类器”由描述符中的程序集 ID 组成。它不会创建主要工件 AFAICT。

    您可能对 maven-shade-plugin 更满意,另外配置 maven-jar-plugin 以设置清单类名称以便 java -jar 工作。阴影插件可以产生一个主要的工件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-19
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 2010-11-07
      • 2011-04-12
      相关资源
      最近更新 更多