Maven3: Как получить все зависимости проекта в пользовательском расширении Maven

В Maven 3.x, как я могу получить все зависимости проекта, включая переходные процессы в пользовательском расширении maven (без использования Aether)

В настоящее время у меня есть это:

 @Component(role = AbstractMavenLifecycleParticipant.class, hint = "Test")
 public class sampleExtension extends AbstractMavenLifecycleParticipant implements LogEnabled {

   private Logger logger;

   @Override
   public void afterSessionStart(MavenSession session)
        throws MavenExecutionException {
  this.logger.info("Starting afterSessionStart()");
}

@Override
public void afterProjectsRead(MavenSession session)
        throws MavenExecutionException {
      MavenProject pr = session.getCurrentProject();

    List dependencies = pr.getDependencies();

    this.logger.info("Project name and Size of dependencies: " + pr.getArtifactId() + " : " + dependencies.size()); 
}

@Override
public void enableLogging(Logger logger) {
    this.logger = logger;
}

}

Я создаю этот jar-файл расширения и помещаю его в $Maven_home/lib/ext . Я выбрал случайный проект maven (назовем его 'abc') и запустил команду: mvn clean install, которая показывает количество зависимостей как 13 из журналов. Где, как будто я запускаю mvn dependency:copy-dependencies в 'abc', я вижу более 200 зависимостей, скопированных в целевую папку.

В конечном итоге я хочу получить все зависимости проекта в классе расширений и скопировать его в папку.

Что-то я делаю не так? Обратите внимание, что я новичок во всем этом. Любая помощь с благодарностью.

1 ответ

@Mojo(name = "xxx", defaultPhase = LifecyclePhase.xxx, requiresDependencyCollection = ResolutionScope.COMPILE_PLUS_RUNTIME, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)

Другие вопросы по тегам