2

マルチモジュールプロジェクトがあります。

最後のモジュールは「アセンブル」です。これは、配布に使用できる1つの大きな.jarにいくつかのモジュールの.jarをまとめることを目的としています。このモジュールは他に何もしないので、私はこれを行いました:

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

この動作で、結果のjarをIDE(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

このメッセージは、私の目標を達成するための推奨される方法ではないようです。もっと良いものはありますか?

4

1 に答える 1

3

アセンブリプラグインは、記述子からのアセンブリIDで構成される「分類子」を使用してアーティファクトを作成します。メインアーティファクトAFAICTは作成されません。

maven-shade-pluginに加えて、java-jarが機能するようにマニフェストクラス名を設定するようにmaven-jar-pluginを構成する方が幸せかもしれません。シェードプラグインはメインアーティファクトを生成できます。

于 2011-03-23T01:09:26.853 に答える