2

maven-assembly-plugin を使用して、アプリの実行に必要なすべての依存関係を含む jar ファイルを作成しています。アセンブリの構成では、カスタム アセンブリを指す descriptorRef を使用します。

Maven リポジトリを見ると、jar、pom、および演習のポイントである jar-with-dependencies が表示されます。

maven-dependency-plugin:2.4:get を使用して jar-with-dependencies をプルすると、jar-with-dependencies を dest にコピーするだけでなく、推移的な依存関係もローカルの Maven リポジトリにプルダウンされます。

jar-with-dependencies には既にすべてが埋め込まれているため、私が予想した動作は、その jar ファイルのみが取得されることです。つまり、-Dtransitive=false を指定してdependency:get を呼び出したときに見られる動作を期待していました。

推移フラグが必要であるという事実は、おそらく pom またはアセンブリ記述子のいずれかで、何かが間違っているか欠落していることを示していますか? jar-with-dependencies が依存関係の空のリストを持つように、pom またはアセンブリで何か違うことをする必要がありますか?

4

1 に答える 1

1

maven-dependency-plugin、jar-with-dependencies にすべての依存関係が既に含まれていることを知りません (できません)。指定しない限り、アーティファクトの POM ファイルを調べて、JAR とその依存関係をダウンロードするだけです-Dtransitive=false

それはまさにget目標のドキュメントが言うことです:

指定されたリモート リポジトリから単一のアーティファクトを推移的にダウンロードします。

アップデート:

セットアップに誤りや欠落はありませんが、JAR にすべての依存関係が既に含まれていることを Maven に認識させることはできません。Maven の観点からは、jar-with-dependencies は Maven リポジトリー内の他の JAR ファイルと同じです。Maven には、JAR ファイルの内容に関する知識はありません。

于 2012-08-21T21:28:31.150 に答える