【摘要】:一个常见的用法就是希望项目所有模块使用Maven Compiler Plugin的时候,都使用Java 1.8,以及指定Java源文件编码为UTF-8,这时可以在父模块的pom文件中对pluginManagement进行如下 配置:这段配置会被应用到所有子模块的maven-compiler-plugin中,由于Maven内置了maven-compiler-plugin与生命周期的绑定,因此子模块就不再需要任何maven-compiler-plugin的配置了。也就是说,简单地把插件配置提取到父pom的pluginManagement中往往不适合所有情况,因此在使用的时候就需要注意了,只有那些普适的插件配置才应该使用pluginManagement提取到父pom中。
与dependencyManagement类似,也可以使用pluginManagement元素管理插件。一个常见的用法就是希望项目所有模块使用Maven Compiler Plugin的时候,都使用Java 1.8,以及指定Java源文件编码为UTF-8,这时可以在父模块的pom文件中对pluginManagement进行如下 配置:
这段配置会被应用到所有子模块的maven-compiler-plugin中,由于Maven内置了maven-compiler-plugin与生命周期的绑定,因此子模块就不再需要任何maven-compiler-plugin的配置了。
通常所有项目对于任意一个依赖的配置都应该是统一的,但插件却不是这样,例如你希望模块A运行所有单元测试,模块B要跳过一些测试,这时就需要配置maven-surefire-plugin插件来实现,那样两个模块的插件配置就不一致了。也就是说,简单地把插件配置提取到父pom的pluginManagement中往往不适合所有情况,因此在使用的时候就需要注意了,只有那些普适的插件配置才应该使用pluginManagement提取到父pom中。(www.xing528.com)
虽然Maven只是用来帮助构建项目和管理依赖的工具,pom也并不是正式产品代码的一部分,但也应该认真对待pom。随着敏捷开发和TDD[29]等方式越来越被人接受,测试代码得到了开发人员越来越多的关注。因此不能仅满足于一个能用的pom,而应该积极地修复pom中使用不当的地方。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。