MavenProject getDependencies пусто

#maven #maven-plugin

#maven #maven-плагин

Вопрос:

Я работаю над исправлением плагина maven, и после некоторой отладки MavenProject.getDependencies() возвращает зависимости при запуске пакета mvn, но никаких зависимостей при запуске mvn install.

Выполнение плагина настроено для пакета, и я запрашиваю все зависимости от компиляции.

 @Mojo(name = "modl",
    defaultPhase = LifecyclePhase.PACKAGE,
    requiresDependencyResolution = ResolutionScope.COMPILE)
  

И, наконец, в проекте, где я запускаю плагин, у меня есть этот плагин, выполняемый на этапе пакета. Есть ли что-нибудь еще, чего мне не хватает?

Комментарии:

1. Вы, должно быть, пропустили что-то, чего нет в вопросе. mvn install включает mvn package , поэтому, если mvn package дает вам зависимости, mvn install следует сделать то же самое.

2. Да, это тоже моя мысль, но, похоже, это не так. Когда я отлаживал это, я заставил плагин ввести Exeuction и подтвердил, что он выполняется на этапе пакета (как для mvn package, так и для mvn install), но getDependencies() возвращал пустой набор, как я уже сказал.

3. Я все еще предполагаю, что вы допустили какую-то ошибку при отладке этого.

Ответ №1:

Хорошо, в итоге мне пришлось добавить фильтр артефактов, чтобы заставить это работать, потому что это привело бы к сбою проверки в классе MavenProject.

 mavenProject.setArtifactFilter(new ScopeArtifactFilter("compile"));