別のMavenプラグインを使う方が良いかもしれません。 Difference between maven plugins (assembly-plugins , jar-plugins , shaded-pluginsを参照してください。 Shadeはおそらくこの場合に最適です。あなたが作成しようとしているのは、uber -jarです。 MavenのWebサイトからのシェードについて
、:
このプラグインは、その依存関係や日陰に含め、ユーバー-瓶にアーティファクトをパッケージ化する機能を提供します - つまり、名前を変更 - 依存関係のいくつかのパッケージ。
Shade Pluginの目標は、ビルドライフサイクルのパッケージフェーズにバインドされています。
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<!-- put your configurations here -->
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
</project>
注デフォルトの実装では、日陰のバージョンを使用して、プロジェクトの成果物を置き換えること:あなたのシェードプラグインの設定
。両方が必要ですか?ここをクリックしてください:Attaching the Shaded Artifact
一度にいくつかの瓶をマージすることは必ずしも単純ではないので、シェードはResource Transformersという概念を持っています(リンクにはさらにサンプルがあります)。
いくつかの成果物から1つのuber JARにクラス/リソースを集約することは、重複がない限り直接的です。それ以外の場合は、リソースをいくつかのJARからマージするためのロジックが必要です。これは、リソースの変圧器が入り込む場所です。
project siteは実際にはかなり良いです。さまざまな例がたくさんあります。
別のMavenプラグインを使う方がよいかもしれません。 [Mavenプラグインの違い(アセンブリプラグイン、jarプラグイン、陰影付きプラグイン)](http://stackoverflow.com/questions/38548271/difference-between-maven-plugins-assembly-plugins-jar-plugins-shaded)を参照してください。 -plugi)。このケースでは、[Shade](https://maven.apache.org/plugins/maven-shade-plugin/)がおそらくあなたに最適でしょう。 –
@JonSampsonありがとう!それは確かに動作します!あなたは答えとしてあなたのコメントを再フォーマットしてください、私は受け入れることができます –
それはあなたのために働いてうれしい!私はより価値のある(私が望む)答えを掲示した。 –