アーティファクト取得の問題を取り巻くいくつかの記事を見つけましたが、回答が私の特定のケースではうまくいかないようです。Maven 2 APIを使用したWAR Artifactの依存関係を取得する
skinny war EAR世代の助けとなるプラグインを作成しています。私はEAR mavenモジュール用に書いたプラグインを実行しています。プラグインのコードでは、私はWAR依存関係の依存関係/アーティファクトを得ることができる段階に達しています。現在、これらは私が試したことはありません。私はこれが依存関係を実行しているからだと推測します。私のEARモジュール上のツリーにはそれらが含まれておらず、推移的な依存関係ではありません。
// Neither of the two below return WAR transitive dependencies, just the WARs
project.getDependencies()
project.getArtifacts()
私の新しいアプローチは、現在、このです:
ArtifactRepository localRepository = project.getDistributionManagementArtifactRepository();
List remoteRepositories = project.getRemoteArtifactRepositories();
ResolutionGroup resolutionGroup = artifactMetadataSource.retrieve(warArtifact, localRepository, remoteRepositories);
Set<Artifact> artifactDependencies = resolutionGroup.getArtifacts();
これは作業ではありません
(N.B.これは、プロジェクトのArtifactMetadataSource
部品オブジェクトの使用や依存関係maven-dependency-plugin:2.4
をしています)。 artifactDependencies
セットは空です。これは、モジュールwarArtifact
のディレクトリにmvn dependency:tree
を実行すると、正常に動作するため、これが可能になります。
アイデア?