Jenkins+maven+findbugs对java代码进行静态代码分析
来源:互联网 发布:淘宝分享微信不能粘贴 编辑:程序博客网 时间:2024/06/05 06:31
一、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+findbugs对java代码进行静态代码分析
- Jenkins+maven+checkstyle对java代码进行静态代码分析
- Jenkins+maven+pmd对java代码进行静态代码分析
- Jenkins+Gradle+findbugs对Android工程源码进行静态代码分析
- Jenkins+Gradle+findbugs对Android工程源码进行静态代码分析
- Jenkins集成findbugs插件静态代码分析
- Jenkins集成findbugs插件静态代码分析
- Jenkins Maven checkstyle findbugs pmd静态代码检查
- jenkins安装pmd对代码进行静态分析
- java静态代码分析工具FindBugs
- 静态代码分析工具-jenkins应用(checkstyle and findbugs for java,cccc and cppcheck for c/c++)
- Android(Java)利用findbugs进行代码静态检查
- Android(Java)利用findbugs进行代码静态检查
- Jenkins+Gradle+checkstyle对Android工程源码进行静态代码分析
- Jenkins+Gradle+pmd对Android工程源码进行静态代码分析
- Jenkins+ Gradle +Lint对Android工程源码进行静态代码分析
- Jenkins+ Gradle +Lint对Android工程源码进行静态代码分析
- STL中map的用法
- 圆角文本框
- 实现跨域的N种方法
- 系统性能调优-发现瓶颈
- 轻量级压力测试Apache-ApacheBench(ab)
- Jenkins+maven+findbugs对java代码进行静态代码分析
- 数据结构面试题1.2.1-把二元查找树转变成排序的双向链表
- Hello,World!
- hdu 2012 素数判定
- 上下文菜单与上下文操作模式
- iOS开发网络篇之文件下载、大文件下载、断点下载
- Loadrunner analysis启动报错
- html5的画布学习小总结
- Division by zero in