一、POM.xml的修改
1、 在build里面配置:
代码如下:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<threshold>High</threshold>
<effort>Default</effort>
<findbugsXmlOutput>true</findbugsXmlOutput>
<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
<xmlOutput>true</xmlOutput>
<findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>
</configuration>
</plugin>
2、 在report里面配置:
代码如下:
<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>
二、JOB的配置
1、安装插件findbugs-plug-in
2、新建job
3、 配置svn
4、配置Invoke top-level Maven targets
5、添加PublishFindBugs analysis results,可以默认配置也可以修改相关配置。
三、结果的查看
1、构建job
2、查看结果
点击查看具体问题
运行多次后会生成趋势图
四、问题备注
问题1、使用findbugs:findbugs后不能检查到问题
indbugs虽然是一个静态分析工具,但是它分析的不是java源代码(后缀名为.java),而是class文件(编译后的文件)。在运行mvn findbugs:findbugs 时,不会自动编译项目,即没有class文件,所以findbugs没有运行。
有的技术博客说:“cleanfindbugs:findbugs install ,这种写法是错的,可以运行的,但是并不产生findbugs报告”,说法是对的,但是并没有说明原因。
原因:运行clean后,class文件都被删除了,所以不会运行findbugs,或者说findbugs没有可分析的class文件,自然就没有产生分析结果。
使用maven运行findbugs前一定先编译,一定要有class文件!
解决方法:
(1)mvnclean compile findbugs:findbugs
(2)mvnclean test findbugs:findbugs (test会调用compile生命周期)
如下图:
2、配置了findbugs后不能生成报告
编译并执行findbugs命令时发现20个问题
但是Jenkins获取到0个错误
解决方法:
注释reporting里面的<xmlOutputDirectory>。
最后
以上就是闪闪睫毛最近收集整理的关于Jenkins+maven+findbugs对java代码进行静态代码分析的全部内容,更多相关Jenkins+maven+findbugs对java代码进行静态代码分析内容请搜索靠谱客的其他文章。
发表评论 取消回复