:
종속 : 종속성이 POM에서 많이 볼, 모든 플러그인 요소 블록에서 요소입니다 있습니다. 종속성은 기본 빌드와 동일한 구조와 기능을가집니다. 이 경우의 가장 큰 차이점은 프로젝트의 종속성으로 적용하는 대신 현재 적용되는 플러그인의 종속성으로 적용된다는 것입니다. 이것의 힘은 아마도 exclusions
을 통해 사용되지 않은 runtime
종속성을 제거하거나 필요한 종속성의 버전을 변경하여 플러그인의 종속성 목록을 변경하는 것입니다.
즉, 특정 라이브러리의 범위 내에서 일부 라이브러리를 플러그인 클래스 경로에서 제외하거나 특정 버전을 대체 할 수 있습니다.
플러그인에 종속성을 추가해도 빌드중인 응용 프로그램의 클래스 경로는 변경되지 않습니다. 플러그인 용 dependencies
은 클래스 경로를 직접 변경하기 위해 추가 구성 가능성을위한 진입 점입니다.
대부분의 경우에 해당 수준에서 작업 할 필요는 없지만 경우에 따라서는 매우 유용하며 특정 종속성을 추가 할 필요가있는 플러그인도 있습니다 (예 : 변환 또는 코드에서 작동하는 플러그인). 세대 (WSDL에서 Java 등)는 아마도 더 의존성 (당신은 어떤 버전과 어떤 버전을 선택해야하는지) 등등을 필요로 할 것입니다.
또 공식 예제는 공식 Maven - Guide to configure plugins 문서에 의해 제공됩니다 :
당신은 더 최근의 의존성 버전을 사용하는 것이 일반적으로, 빌드 플러그인의 종속성을 구성 할 수 있습니다.
예를 들어 Maven Antrun Plugin 버전 1.2는 Ant 버전 1.6.5를 사용합니다.이 플러그인을 실행할 때 최신 Ant 버전을 사용하려면 <dependencies>
요소를 추가해야합니다.
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.2</version>
...
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-launcher</artifactId>
<version>1.7.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
...
</project>
또 다른 예는 자바 프로그램을 실행하기 위해 java
목표를 사용하려는 당신이 실제로 그 클래스 경로에 라이브러리를 추가해야 할 경우에 공식 Exec Maven Plugin documentation에서 제공하지만 원하지 않는 빌드중인 응용 프로그램의 클래스 경로를 변경하려면이 방법이 훨씬 깔끔하고 합리적인 방법입니다.
그래서 제 대답에서 15 분 후에 실제로 동일한 내용을보고하고 복사하여 붙여 넣으십시오. 요점은 무엇입니까? –
@ sab 왜 저의 이전 답변이 정보를 먼저 제공하고 자세한 내용을 제공했을 때이 늦은 답변을 수락합니까? 이 대답은 단순히 경찰과 붙여 넣기였습니다 –
@ A_Di-Matteo 다른 대답을 복사하여 질문에 대답 할 의도가 없습니다. 나는 질문이 게시 된 순간 편집 모드에 있었고 게시했을 때 귀하의 대답은 이미있었습니다. 나는 당신의 대답이 더 자세하고 대답으로 받아 들여 져야한다는 것에 동의합니다. sab - 가능한 경우 다른 답변을 수락하십시오. 건배. – LeTex