일반 : 오버라이드 된 종속성 버전 (플러그인 종속성)이있는 명령 줄에서 maven 플러그인을 실행해야합니다. 플러그인은 프로젝트 pom에 정의되지 않습니다.런타임에 사용되는 종속성 버전을 명령 줄에서 덮어 씌우십시오.
콘크리트 : 팀 시티 빌드에서 단계로 maven-checkstyle-plugin
을 실행해야합니다. 이 플러그인은 프로젝트 pom으로 정의되지 않습니다. 나는 명령 줄 다음 사용
mvn org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check -Dencoding=UTF-8
그러나 here을 가리 켰을 때, 나는 플러그인을 최신으로 checkstyle을 실행해야합니다.
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>
커맨드 라인 :
?
왜 pom에서 정의하지 않습니까? 이해가되지 않습니다 ... 명령 줄에서 종속 버전을 무시할 수 없습니다. 왜 이것을 필요로합니까? – khmarbaise
당신은 아마 이것을 할 수 없습니다. 가능한 한 트릭은 대상'pom.xml' 파일의 복사본을 만들고,이 플러그인 구성을'pluginManagement' 섹션에 추가하고,이 대체 pom 파일에서 빌드를 실행하는 사전 빌드 단계를 실행하는 것입니다 '-f' 옵션 (예 :'mvn -f enhanced-pom.xml 클린 인스톨'). 더 나은 해결책은 모든 메이븐 프로젝트에서 사용되는 CI 관련 검사/요구 사항을 배치 할 수있는 엔터프라이즈 메이븐 부모를 배치하는 것입니다. –