如何在jenkins的maven项目中,用mvn命令行指定findbugs的黑名单规则文件

最近在研究jenkins的过程中,针对maven项目,打算添加findbugs进行静态检查,但我不太想在项目的pom中进行修改,最好可以只修改jenkins的job配置,即配置外部化。

 

我发现:在jenkins安装了findbugs插件后,只需要按照如下配置:

1.配置maven的goal

如何在jenkins的maven项目中,用mvn命令行指定findbugs的黑名单规则文件

2.配置构建后发布Findbugs分析结果

如何在jenkins的maven项目中,用mvn命令行指定findbugs的黑名单规则文件

 

保存后,点击立即构建,即可正常生成报告,如下:

如何在jenkins的maven项目中,用mvn命令行指定findbugs的黑名单规则文件

3.问题出现

因为我也是看了网上的很多文章,很多都说需要在pom文件里的build和report中配置findbugs插件。

但配置经过我这样的实测,证明并不需要如此。唯一需要做的就是:如上图所示,在maven的goal中添加findbugs:findbugs即可。

但是,我们项目组有自己的要求,比如某些findbugs的错误不需要检查那么,我要怎么样才能指定,哪些错误需要检查,哪些错误不需要检查呢?

 

二:解决方案尝试 1.普遍做法

 我首先用搜索引擎查找了几篇,没找到我想要的,网上的做法都是:

在项目的pom中指定规则文件的位置:

在pom文件的同级,放置excludeFilterFile(该文件中的规则不需要检查)

如何在jenkins的maven项目中,用mvn命令行指定findbugs的黑名单规则文件

<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>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxjgj.html