65

Mavenシェードプラグインは、 dependency-reduced-pom.xmlおよびartifactname-shaded.jarというファイルを作成し、それらをベースディレクトリに配置します。

これはバグですか?ターゲットディレクトリにある必要があります。回避策はありますか?

4

6 に答える 6

77

createDependencyReducedPomfalseに設定すると、作成されないようにすることができます。

例えば

<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 の詳細を参照

ここに画像の説明を入力

于 2012-07-04T05:31:38.147 に答える
21

bmarguliesの回答とXvに関する彼のコメントに基づいています。の答え、依存関係を減らしたPOMをに出力するように構成することにしましたがtarget/、これは私のVCSではすでに無視されています。

そのために、プラグインdependencyReducedPomLocationの要素に要素を追加しました。configuration

<configuration>
  <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
  (...)
</configuration>
于 2014-10-16T13:57:43.363 に答える
10

https://issues.apache.org/jira/browse/MSHADE-121およびhttps://issues.apache.org/jira/browse/MSHADE-124も参照してください。

drp を別の場所に移動するオプションがありますが、結果が気に入らない場合があります。

-shaded jar については間違っています。他の場所に移動しない限り、常に target/ になります。

于 2012-07-03T15:33:00.843 に答える
3

古いバージョンのプラグインを使用できます。バージョン 1.7 の maven-shade-plugin は /target に書き込みます。

バージョン 1.7.1 以降、依存関係を減らした pom.xml が basedir に書き込まれます。それが行われた理由とその結果については、Issue MSHADE-124を参照してください。dependencyReducedPomLocationを設定しようとすると、サイトを開く問題MSHADE-145を生成する問題が発生する可能性があります。

于 2014-10-16T16:46:03.163 に答える