본문 바로가기

Maven

[Maven] PluginManagement

PluginManagement에 대한 글..


crescent_util에서 m2 이클립스 플러그인으로 빌드시에

오류가 난다는 이슈가 들어와서 찾아보던 중.... 


일단, 오류자체는 이클립스 플러그인의 버그인듯하고..

아래 내용을 참고하였음..


http://stackoverflow.com/questions/10483180/maven-what-is-pluginmanagement

http://stackoverflow.com/questions/1266226/maven2-problem-with-pluginmanagement-and-parent-child-relationship


You use pluginManagement in a parent pom to configure it in case any child pom wants to use it, but not every child plugin wants to use it. An example can be that your super pom defines some options for the maven Javadoc plugin. Not each child pom might want to use Javadoc, so you define those defaults in a pluginManagement section. The child pom that wants to use the Javadoc plugin, just defines a plugin section and will inherit the configuration from the pluginManagement definition in the parent pom.


Adding the plugin configuration to pluginManagement means that this configuration will be used if the plugin is declared, but you still need to declare the plugin in the build section of any POM that wants to use it.


However, this only configures plugins that are actually referenced within the plugins element in the children


상위 pom에서 pluginManagement로 선언한것은 다만 상속해서 사용하고 싶은 

하위 pom에서 별다른 버전 설정없이도 사용 할 수 있도록 해주는듯.. 실제로 하위 pom에서도 <build><plugins><plugin> 을 넣어줘야 실행된다. 다만, 이클립스 플러그인처럼 별도 설정 없이도 사용가능한 플러그인은 <build><plugins><plugin>를 안줘도 하위pom에서 실행 가능하다.


아 어렵네..