Я нашел несколько постов, касающихся вопроса поиска артефактов, однако ответы, похоже, не работают в моем конкретном случае.
Я пишу плагин, который поможет с генерацией 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();
(Примечание. Это использует компонентный объект ArtifactMetadataSource
проекта и зависимости maven-dependency-plugin:2.4
)
Это не работает. Набор artifactDependencies
пуст. Теперь это должно быть возможно, потому что запуск mvn dependency:tree
в каталоге для модуля warArtifact
работает нормально, как и ожидалось.
Есть идеи?