Использовать maven транзитивную зависимость в сборке - PullRequest
0 голосов
/ 29 октября 2018

Есть ли способ использовать транзитивную зависимость некоторого модуля maven вместо использования версии по умолчанию maven lib? Например:

Мой проект зависит от qulice-maven-plugin, который зависит от qulice-checkstyle, который зависит от библиотек checkstyle. Я хочу запустить checkstyle в моем проекте, но используя ту же версию и конфигурацию, которая загружена из этих переходных зависимостей.

Если я запускаю mvn checkstyle:checkstyle, которая является командой для запуска checkstyle, она загружает версию checkstyle по умолчанию и использует ее конфигурацию по умолчанию. Я не хочу копировать все свои конфигурации из этих зависимостей, я просто хочу, чтобы maven был достаточно умен, чтобы выполнить checkstyle, используя зависимости, определенные выше.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 23 ноября 2018

Если я запускаю mvn checkstyle: checkstyle, он загружает версию по умолчанию checkstyle

Если у вас загружается версия 6.18, см. https://stackoverflow.com/a/27359107/1016482 о том, как переопределить ее для использования более новой версии.

run mvn checkstyle: checkstyle, который является командой для запуска checkstyle

Если вы хотите завершить сборку, если в вашем проекте есть нарушение контрольного стиля, то это не команда. Как показано на https://maven.apache.org/plugins/maven-checkstyle-plugin/checkstyle-mojo.html, это просто сгенерирует файл отчета и не завершит сборку, если в вашем проекте есть нарушения стиля проверки.

Для этой цели они рекомендуют checkstyle:check, а https://maven.apache.org/plugins/maven-checkstyle-plugin/usage.html#Checking_for_Violations_as_Part_of_the_Build показывает пример того, как настроить его для ваших пользовательских параметров.

Я не хочу копировать все свои конфигурации из этих зависимостей

Вы должны иметь возможность использовать встроенную конфигурацию так же, как конфигурации Sun и Google, встроенные в checkstyle. Просто добавьте его как зависимость и укажите местоположение конфигурации, например /my/path/my_config.xml из корня зависимости, как если бы вы загружали ресурс.

...