项目采用maven构建,想使用findbugs-maven-plugin 插件进行代码静态分析
官网:http://findbugs.sourceforge.net/
a program which uses static analysis to look for bugs in Java code
项目目录结构如下:
最下面的文件就是maven 的配置文件pom.xml,类似于ant的build.xml文件,pom.xml内容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.kunlunsoft</groupId> <artifactId>isChinese</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <checkstyle.config.location>checkstyle.xml</checkstyle.config.location> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <reporting> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.5.2</version> </plugin> </plugins> </reporting> </project>
此时target目录是空的。打开cmd,进入项目所在目录,运行mvn findbugs:findbugs
运行结果如下:
从上图(mvn findbugs:findbugs的运行结果) 来看,maven 并没有运行findbugs,为什么会这样呢?
我们看看findbugs官网是如何说明的:
FindBugs requires JRE (or JDK) 1.5.0 or later to run. However, it can analyze programs compiled for any version of Java, from 1.0 to 1.8. The current version of FindBugs is 2.0.2, released on 10:49:15 EST, 10 December, 2012. We are very interested in getting feedback on how to improve FindBugs. File bug reports on our sourceforge bug tracker
findbugs虽然是一个静态分析工具,但是它分析的不是java源代码(后缀名为.java),而是class文件(编译后的文件)。在运行mvn findbugs:findbugs 时,不会自动编译项目,即没有class文件,所以findbugs没有运行。
有的技术博客说:“clean findbugs:findbugs install ,这种写法是错的,可以运行的,但是并不产生findbugs报告”,说法是对的,但是并没有说明原因。
原因:运行clean后,class文件都被删除了,所以不会运行findbugs,或者说findbugs没有可分析的class文件,自然就没有产生分析结果。
使用maven运行findbugs前一定先编译,一定要有class文件!
解决方法:
(1)mvn clean compile findbugs:findbugs
(2)mvn clean test findbugs:findbugs (test会调用compile生命周期)
如下图:
运行完之后,target目录会增加如下文件:findbugsXml.xml
测试结果是xml格式的,不方便查看、展示.
我们希望以html格式来展示findbugs的运行结果(报告),如下图:
如上图所示,如何实现html展示findbugs报告呢?
请参阅我的下一篇博客:http://hw1287789687.iteye.com/blog/1960331
也可以参阅 http://stackoverflow.com/questions/8975096/maven-checkstyle-configlocation-ignored
相关推荐
findbugs-maven-plugin, 为了生成基于FindBugs分析器的报告,Maven Mojo插件 Maven 插件 最新快照请从这里下载最新的快照。构建findbugs-maven-plugin需求Java 7是必需的。这将允许分析字节码到 Java 8 findbugs-...
Eclipse插件更新地址
findbugs示例 专家 # ./mvnw clean verify site ./mvnw # output: # [java] Warnings generated: 15 open ./target/site/findbugs.html ... findbugs gradle / maven插件用法: # gradle: ./gradlew fi
findbugs-测试目标是: 获取 findbugs 以失败构建错误获取 findbugs 以了解 jsr 305 注释(@Nullable 等) 配置以便所有未注释的东西都假定为@NonNullable (@ParametersAreNonnullByDefault) 目前 1 和 2 有效,但...
findbugs使用说明:包含eclipse插件和maven插件的详细使用。
Ant作为一个优秀的自动化构建软件,大量的应用在Java软件开发中(虽然有被Maven取代的危险)。FindBugs提供了集成在...2. 关于Jar包的问题,建议将 eclipse中安装findbugs插件中的lib包中的jar包替换为Lib中的jar文件:
这些资源在myeclipse8.6版本测试完毕可以使用,myeclipse8.5也可以,其它版本未经测试……
使用此Maven POM使用JUnit,JaCoCo,Hamcrest,FindBugs,PMD,CodeNarc,Checkstyle(Google),Enforcer,Duplicate-Finder,JDepend等来增强和报告代码质量。 目录 1.概述 通过以下方式增强和报告代码质量: ...
内含四大效率插件:提高工作效率,coding美观简洁,减少低级bug
m2e代码质量 该项目提供了Eclipse插件,它们将Checkstyle和PMD的Maven和Eclipse插件联系在一起。 在使用Checkstyle或PMD的Maven项目... 这些Eclipse插件是使用Tycho Maven插件构建的。 OSGi,Eclipse和Maven的结合并不
FindBugs-IDEA-1.0.1 LiveEdit MavenRunHelper MyBatis plugin 3.154 tomcat LiveEdit还需要安装谷歌插件,目录下已经提供插件和安装方法 把IDEA常用插件集合\plugins下所有的插件复制到C盘的IDEA目录下 C:\Users...
findbugs-jmock.zip,findbugs工具的一个插件,用于检测错误的jmock测试。findbugs插件用于检测错误的jmock测试。
包括以下要点: Maven Build:可以使用以下Maven命令自动构建项目: mvn clean install checkstyle: checkstyle pmd: pmd pmd: cpd findbugs: findbugs cobertura: cobertura Eclipse:可以通过m2e Eclipse插件导入...
具体介绍了maven初学搭建项目一个流程,内容详细,并且介绍主流maven插件比如cargo,checkstyle,findbugs以及在tomcat上项目的运行
SpotBugs插件项目的Maven原型 如何使用 $ mvn archetype:generate \ -DarchetypeArtifactId=spotbugs-archetype \ -DarchetypeGroupId=com.github.spotbugs \ -DarchetypeVersion=0.2.3 执照 版权所有2017-2020 ...
Maven作者插件生成一个HTML报告,该报告显示从其他Maven报告(Checkstyle,FindBugs,PMD,Lint4j,JavaNCSS,JCoverage,Cobertura,Emma,Clover,任务列表等)收集的信息,并按源文件的作者进行分类。
该项目包含: src/main/resources/configuration文件夹中的PMD,Checkstyle和FindBugs Maven插件配置的属性文件; src/main/resources/rulesets文件夹中的插件src/main/resources/rulesets ; PMD,CheckStyle和...
Maven Helper 一键查看maven依赖,查看冲突的依赖,一键进行exclude依赖 VisualVM Launcher 运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配 GenerateAllSetter 一键生成一个对象的set方法...
idea 插件合集, GsonFormat,String Manipulation,Mybatis plugin,Key promoter X,阿里巴巴代码规约检测,FindBugs-IDEA,Maven Helper
10.FindBugs 隐藏BUG 11.restfultookit web开发利器 12.Maven Helper maven依赖管理工具 13.aiXcoderservice 一个人工智能技术的提示。 14.MyBatis Log Plugin mybaits sql输出 15.JRebel Plugin 代码热...