最近在研究jenkins的过程中,针对maven项目,打算添加findbugs进行静态检查,但我不太想在项目的pom中进行修改,最好可以只修改jenkins的job配置,即配置外部化。
我发现:在jenkins安装了findbugs插件后,只需要按照如下配置:
1.配置maven的goal 2.配置构建后发布Findbugs分析结果
保存后,点击立即构建,即可正常生成报告,如下:
3.问题出现因为我也是看了网上的很多文章,很多都说需要在pom文件里的build和report中配置findbugs插件。
但配置经过我这样的实测,证明并不需要如此。唯一需要做的就是:如上图所示,在maven的goal中添加findbugs:findbugs即可。
但是,我们项目组有自己的要求,比如某些findbugs的错误不需要检查。那么,我要怎么样才能指定,哪些错误需要检查,哪些错误不需要检查呢?
二:解决方案尝试 1.普遍做法
我首先用搜索引擎查找了几篇,没找到我想要的,网上的做法都是:
在项目的pom中指定规则文件的位置:
在pom文件的同级,放置excludeFilterFile(该文件中的规则不需要检查)
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>3.0.1</version> <configuration> <excludeFilterFile>custom-findbugs-include.xml</excludeFilterFile> <!--<threshold>High</threshold>--> <!--<threshold>Low</threshold>--> <effort>Default</effort> <findbugsXmlOutput>true</findbugsXmlOutput> <findbugsXmlWithMessages>true</findbugsXmlWithMessages> <xmlOutput>true</xmlOutput> <findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory> </configuration> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>3.0.1</version> <configuration> <xmlOutput>true</xmlOutput> <!-- Optional directoryto put findbugs xdoc xml report --> <!--<xmlOutputDirectory>target/site</xmlOutputDirectory>--> <findbugsXmlOutput>true</findbugsXmlOutput> <findbugsXmlWithMessages>true</findbugsXmlWithMessages> </configuration> </plugin> </plugins> </reporting>