#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"));