Mavenシェードプラグインはdependency-reduced-pom.xmlおよびartifactname-shaded.jarというファイルを作成し、ベースディレクトリに配置します。
これはバグですか?ターゲットディレクトリにある必要があります。回避策はありますか?
createDependencyReducedPom
をfalseに設定すると、作成されないようにすることができます。
例えば.
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven-shade-plugin.version}</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
....
....
</plugin>
Apacheからの詳細 を参照してください
bmargulies '回答とXv。の回答に対する彼のコメントに基づいて、依存関係を削減したPOMをtarget/
に出力するように構成することにしました。 VCSではすでに無視されています。
そのために、プラグインのdependencyReducedPomLocation
要素にconfiguration
要素を追加しました。
<configuration>
<dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
(...)
</configuration>
https://issues.Apache.org/jira/browse/MSHADE-121 、および httpsも参照してください。 //issues.Apache.org/jira/browse/MSHADE-124 。
D-r-pを他の場所に移動するオプションがありますが、結果が気に入らないかもしれません。
-shaded jarについて間違っています。他の場所に移動しない限り、常にtarget /になります。
古いバージョンのプラグインを使用できます。 maven-shade-pluginのバージョン1.7は、/ targetに書き込みます。
バージョン1.7.1以降、依存関係を削減したpom.xmlはbasedirに書き込まれます。問題が発生した理由と結果については、 MSHADE-124 を参照してください。 dependencyReducedPomLocationを設定しようとすると、サイトの生成で問題が発生する可能性があります-未解決の問題 MSHADE-145 。
http://maven.Apache.org/plugins/maven-shade-plugin/shade-mojo.html のドキュメントは、次のように書かれている場合、間違っています:
createDependencyReducedPom boolean-シェーディングされたアーティファクトの簡易POMを生成するかどうかを示すフラグ。 trueに設定されている場合、uber JARに含まれている依存関係は、生成されたPOMのセクションから削除されます。縮小されたPOMは、dependency-reduced-pom.xmlという名前になり、影付きのアーティファクトと同じディレクトリに保存されます。 dependencyReducedPomLocationも指定しない限り、プラグインはプロジェクトbasedirにdependency-reduced-pom.xmlという名前の一時ファイルを作成します。デフォルト値はtrueです。
dependency-reduced-pom.xmlは、notシェーディングされたアーティファクト(ターゲットディレクトリ)と同じディレクトリに格納されています...実際にはターゲットではなくベースディレクトリ