Я работаю над классом расширения жизненного цикла maven, и мне нужно изучить подробные координаты pom (bom), перечисленных в блоке dependencyManagement данного проекта.Мне нужно быть в состоянии сделать это в методе afterProjectsRead, который я переопределяю в классе расширения.Я понимаю, что тег <scope>import</scope>
вызывает замену раздела зависимостей dependencyManagement на зависимости, перечисленные в импортированном pom (bom).Но мне нужно взглянуть на детали координат pom (bom) в моем классе расширения, но кажется, что импорт уже произошел, и эти данные недоступны, когда я попадаю в мой метод расширения afterProjectsRead.
, чтобы бытьясно, что блок dependencyManagement в данном проекте maven выглядит следующим образом:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>some.project</groupId>
<artifactId>some-project-bom</artifactId>
<version>0.1-SNAPSHOT</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
И мой класс расширения жизненного цикла maven пытается сделать это:
@Override
public void afterProjectsRead(MavenSession session) {
MavenProject proj = session.getCurrentProject();
DependencyManagement depMgmt = proj.getDependencyManagement();
for (Dependency dep : depMgmt.getDependencies()) {
System.out.println(dep.getArtifactId() + ":" + dep.getVersion());
}
}
, чтобы получить координатуподробности о pom (bom), на который ссылаются
Я надеялся получить groupId, artifactId и версию самого pom (bom) в тот момент, но эта информация уже заменена зависимостями, фактически перечисленными в некоторыхпроект-bom.xml.И поэтому я получаю сведения о координатах зависимостей, указанных в файле pom (bom) xml.
Возможно ли это?может быть через объект MavenSession?