我在我的父pom中定义了一个报告配置,它将在每个子孙项目中运行.
像这样:
org.codehaus.mojo findbugs-maven-plugin 1.2 true Low Min ${basedir}/findbugsFilter.xml
麻烦的是每个孩子都插入它basedir
而不是定义POM.我想我正在寻找与ANT相当的东西
.
简短版本:findbugs-maven-plugin的文档中描述了您的问题的解决方案.您只需为构建配置创建一个单独的(顶级)项目,该项目包含您findbugsFilter.xml
作为依赖项的项目和引用.
长版本:不幸的是,从Maven中的父项目或兄弟项目访问资源有点复杂.原因是:在构建子项目时,Maven不能假设父模块是一级别的,或者兄弟项目在文件系统中处于同一级别.事实上,它不能假设任何这些项目甚至在某处检查过!仅检查单个子项目并按原样构建它是完全合法的.因此,当使用Maven构建时,从本地存储库加载所有内容(极少数例外).这就是为什么您必须为要在多个模块中使用的资源创建单独的项目.然后可以将单独的项目添加为依赖项,并由一堆不同的Maven插件使用.示例包括:用于读取配置文件的checkstyle和findbugs插件,用于将外部文件复制到工件中的maven-dependency-plugin或用于加载外部属性文件的properties-maven-plugin.