java – 与maven父模块中的Checkstyle和PMD配置不同
我有一个maven的java应用程序具有以下结构:
我在父pom.xml中配置了PMD和checkstyle.对于PMD,规则集配置如下,它对父模块和子模块都可以正常工作:
但是,对于checkstyle,如果我以相同的方式配置configLocation,它在父节点或子节点中都会失败.我必须使用自定义属性来克服这个问题.
这是一个复制品样本 – https://github.com/ramtech123/pocs/blob/master/myapp-parent-module/pom.xml 我尝试在调试模式下运行maven构建.从日志中,对我而言,实际的PMD执行似乎仅针对子模块进行,因此它没有问题. 有人可以帮我理解根本原因,并改善我的配置. 提前致谢. 最佳答案
当您创建子pom.xml时,它继承其父配置,但是诸如baseDir之类的属性被子代码覆盖,因此在模板化插件配置时它会使用自己的路径.
作为选项,您可以保留< configLocation> analyzers / checkstyle.xml< / configLocation>没有{baseDir}或{projectRootDir},它工作正常. 但是,您的解决方案也很好,因为您在父根中指定了projectRootDir,并且在那里进行了计算,并且子pom不会覆盖您的自定义属性,因此它是正确的. 您的pmd始终有效,因为pmd插件仅针对子模块运行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |