Общее: Мне нужно выполнить плагин maven из командной строки с переопределенной версией зависимостей (зависимостями плагина). Плагин не будет определен в проекте pom.Переопределить версию зависимостей, используемую во время выполнения из командной строки
Бетон: Мне нужно выполнить maven-checkstyle-plugin
как шаг в сборке teamcity; этот плагин не будет определен project pom. Я использую следующие параметры командной строки:
mvn org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check -Dencoding=UTF-8
Но мне нужно выполнить плагин с последними checkstyle как показал here.
POM XML:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
</plugin>
командной строки:
mvn org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check
POM XML:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>7.0</version>
</dependency>
</dependencies>
</plugin>
командной строки:
?
Почему бы не определить в пом? Не имеет смысла. Версия командной строки Overridding невозможна в командной строке. Зачем тебе это нужно? – khmarbaise
Вы, скорее всего, не сможете этого сделать. Возможным трюком было бы выполнить шаг предварительной сборки, где вы создадите копию целевого файла 'pom.xml', улучшите его добавление этой конфигурации плагина в раздел' pluginManagement', затем выполните сборку на этом альтернативном файле pom через параметр '-f' (например,' mvn -f extended-pom.xml clean install'). Лучшим решением было бы иметь родительский pom предприятия maven, где можно было бы поставить CI соответствующие проверки/требования, используемые во всех проектах maven. –