Maven's pom.xml의 plugin Management란 무엇입니까?
이건 내 폼 파일의 일부야.
....
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
......
</configuration>
</execution>
</executions>
</plugin>
</plugins>
...
명령어를 사용하여 정상적으로 사용합니다.
mvn install
단, "plugin Management" 태그에 삽입하려고 하면maven-dependency-plugin
를 기동하면, 동작을 정지합니다.install
목표. "plugin Management" 태그가 빌드 동작을 변경하는 이유는 무엇입니까?아니면 다른 목표나 옵션을 사용해야 할까요?
아직 추가가 필요합니다.
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
</plugins>
그 이유는pluginManagement
는 모든 프로젝트 모듈에서 동일한 플러그인 구성을 공유하는 방법일 뿐입니다.
Maven 문서:
plugin Management :는 사이드 플러그인에 따라 표시되는 요소입니다.플러그인 관리에는 이 특정 프로젝트 빌드에 대한 플러그인 정보를 구성하는 것이 아니라 이 프로젝트 빌드에서 상속되는 프로젝트 빌드를 구성하는 것을 목적으로 한다는 점을 제외하고는 거의 동일한 방식으로 플러그인 요소가 포함됩니다.다만, 이 설정에서는, 자식의 플러그 인 요소내에서 실제로 참조되고 있는 플러그 인만을 설정합니다.하위 사용자는 pluginManagement 정의를 재정의할 수 있습니다.
의 차이점<pluginManagement/>
그리고.<plugins/>
그거는<plugin/>
아래:
<pluginManagement/>
는 빌드의 모듈에 의해 상속되는 플러그인의 설정을 정의합니다.이것은 부모 폼 파일을 가지고 있는 경우에 매우 적합합니다.<plugins/>
는 플러그인의 실제 호출 섹션입니다.이것은, 로부터 계승될 수도 있고, 그렇지 않을 수도 있습니다.<pluginManagement/>
.
필요 없습니다.<pluginManagement/>
부모 POM이 아닌 경우 프로젝트 내에서도 마찬가지입니다.단, 부모 폼일 경우 자녀의 폼에는 다음과 같은 선언이 필요합니다.
<plugins>
<plugin>
<groupId>com.foo</groupId>
<artifactId>bar-plugin</artifactId>
</plugin>
</plugins>
설정을 정의하고 있지 않은 것에 주의해 주세요.하위 프로젝트의 필요에 따라 호출을 추가로 조정해야 하는 경우를 제외하고 상위 프로젝트의 호출을 상속할 수 있습니다.
상세한 것에 대하여는, 다음의 항목을 참조하십시오.
사용하다pluginManagement
에 있어서parent pom
만일의 경우에 대비해서 설정하다child pom
사용하려고 하지만 모든 하위 플러그인이 사용하려고 하는 것은 아닙니다.예를 들어 다음과 같습니다.super pom
에 maven Javadoc 플러그인의 몇 가지 옵션을 나타냅니다.
각자가 아니다child pom
자바독을 사용하는 경우가 있기 때문에 디폴트를 정의합니다.pluginManagement
부분.Javadoc 플러그인을 사용하려는 자 pom은 플러그인 섹션을 정의하기만 하면 이 설정은 에서 상속됩니다.pluginManagement
의 parent pom
.
plugin Management :는 사이드 플러그인에 따라 표시되는 요소입니다.플러그인 관리에는 이 특정 프로젝트 빌드에 대한 플러그인 정보를 구성하는 것이 아니라 이 프로젝트 빌드에서 상속되는 프로젝트 빌드를 구성하는 것을 목적으로 한다는 점을 제외하고는 거의 동일한 방식으로 플러그인 요소가 포함됩니다.다만, 이 설정에서는, 자식의 플러그 인 요소내에서 실제로 참조되고 있는 플러그 인만을 설정합니다.하위 사용자는 pluginManagement 정의를 재정의할 수 있습니다.
http://maven.apache.org/pom.html#Plugin%5FManagement 에서
복사원:
Maven2 - 플러그인 관리 및 부모-자녀 관계 문제
제가했다면, 저는 수 거예요.<pluginManagement>
<dependencyManagement>
둘 다 부모와 그 하위 그룹 간에 구성만 공유하기 위해 사용됩니다.
이를 위해 상위 프로젝트에서 의존관계 및 플러그인의 공통 구성을 정의하고 이를 사용하려면 하위 모듈에서 종속성/플러그인만 선언하면 됩니다(버전 또는 실행, 목표 등).단, 서브모듈의 설정을 덮어쓰는 것을 막을 수는 없습니다.
로 ★★★★★★★★★★★★★★★★★★」<dependencies>
★★★★★★★★★★★★★★★★★」<plugins>
는 설정과 함께 상속되므로 서브레벨에서 다시 선언하지 마십시오.그렇지 않으면 경합이 발생할 수 있습니다.
그래요?
언급URL : https://stackoverflow.com/questions/10483180/what-is-pluginmanagement-in-mavens-pom-xml
'programing' 카테고리의 다른 글
Vue-Router는 라우터 링크가 아닌 일반 앵커로부터의 클릭을 처리할 수 있습니까? (0) | 2022.08.19 |
---|---|
"strlen(s1) - strlen(s2)"은 0보다 작으면 안 됩니다. (0) | 2022.08.19 |
C/C++ 어플리케이션용 오픈소스 PDF 라이브러리 (0) | 2022.08.19 |
Vue 2 및 Vuex에서 전달된 프로펠러를 변수로 사용하여 오브젝트 속성에 동적으로 액세스하면 오류가 반환된다. (0) | 2022.08.19 |
Vue 로딩 시 이미지를 페이드하는 방법 (0) | 2022.08.19 |