Mavenシェードプラグインは、 dependency-reduced-pom.xmlおよびartifactname-shaded.jarというファイルを作成し、それらをベースディレクトリに配置します。
これはバグですか?ターゲットディレクトリにある必要があります。回避策はありますか?
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>
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も参照してください。
drp を別の場所に移動するオプションがありますが、結果が気に入らない場合があります。
-shaded jar については間違っています。他の場所に移動しない限り、常に target/ になります。
古いバージョンのプラグインを使用できます。バージョン 1.7 の maven-shade-plugin は /target に書き込みます。
バージョン 1.7.1 以降、依存関係を減らした pom.xml が basedir に書き込まれます。それが行われた理由とその結果については、Issue MSHADE-124を参照してください。dependencyReducedPomLocationを設定しようとすると、サイトを開く問題MSHADE-145を生成する問題が発生する可能性があります。