`
阅读更多

项目采用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

  • 大小: 19.2 KB
  • 大小: 44 KB
  • 大小: 68.8 KB
  • 大小: 83.4 KB
2
0
分享到:

相关推荐

    findbugs插件使用文档

    `FindBugs`是一款强大的静态代码分析工具,主要用于检测Java代码中的潜在错误和不良实践。它通过分析字节码来找出可能存在...使用FindBugs插件是Java项目开发过程中的一个良好实践,有助于保持代码的健壮性和可维护性。

    findbugs插件和安装步骤

    在提供的压缩包子文件列表中,`edu.umd.cs.findbugs.plugin.eclipse_3.0.1.20150306-5afe4d1.zip` 就是一个Eclipse集成开发环境的FindBugs插件包,适用于Eclipse IDE。 2. **解压插件包**:下载完成后,需要先解压...

    findbugs插件 多版本

    2. **Maven或Gradle插件**:如果你的项目使用Maven或Gradle作为构建工具,可以在pom.xml或build.gradle文件中添加FindBugs插件配置,让其在构建过程中自动执行分析。这样可以确保每次构建都符合质量标准。 3. **...

    findbugs插件及安装

    ## 使用FindBugs插件 1. **分析项目**:在Eclipse或IntelliJ IDEA中,选择要分析的项目,然后运行FindBugs插件。它会扫描整个项目,并在问题视图中显示可能存在的问题。 2. **查看和修复问题**:FindBugs会为每个...

    findbugs-maven-plugin, 为了生成基于FindBugs分析器的报告,Maven Mojo插件.zip

    findbugs-maven-plugin, 为了生成基于FindBugs分析器的报告,Maven Mojo插件 Maven 插件 最新快照请从这里下载最新的快照。构建findbugs-maven-plugin需求Java 7是必需的。这将允许分析字节码到 Java 8 findbugs-...

    findbugs的eclipse插件和maven插件jar包

    Eclipse插件更新地址

    sonar-findbugs插件源码

    3. **规则定义与配置**:FindBugs插件支持多种内置规则,源码会解释如何定义这些规则,以及如何根据项目需求启用、禁用或调整规则的严重性。此外,我们还可以学习如何创建自定义规则,这通常涉及到编写Detector类和...

    findbugs插件

    3. **可集成性:** FindBugs插件可以与多种构建工具(如Maven、Gradle)和IDE(如Eclipse、IntelliJ IDEA)无缝集成,使得错误检查成为开发流程的一部分。 4. **可定制性:** 用户可以根据项目需求自定义错误级别和...

    FindBugs 插件

    在使用FindBugs插件时,开发人员会注意到以下几点关键功能: 1. **错误分类**:FindBugs将发现的问题分为多个等级,从最高的"Error"到最低的"Info",这样可以帮助开发者优先处理最严重的问题。 2. **Bug类别**:...

    findbugs-example:FindBugs gradlemaven插件的用法..

    findbugs示例 专家 # ./mvnw clean verify site ./mvnw # output: # [java] Warnings generated: 15 open ./target/site/findbugs.html ... findbugs gradle / maven插件用法: # gradle: ./gradlew fi

    myeclipse插件 svn findbugs ibator maven veloeclipse等

    FindBugs插件可以集成到MyEclipse中,帮助开发者在编码阶段就发现并修复问题,提高代码质量。 3. **iBator**:它是Apache Ignite项目的一个子项目,全称是"Java Database Abstraction Layer TooL",即Java数据库...

    maven插件的eclipse插件

    将Maven与Eclipse结合使用的桥梁就是"Maven插件的Eclipse插件",也称为m2e(Maven Integration for Eclipse)。 m2e是Eclipse官方提供的一个插件,它的主要作用是将Maven的功能无缝集成到Eclipse中,让开发者在...

    ecplise插件findbugs2.0

    除了手动分析,FindBugs 还支持集成到构建工具如 Maven 或 Gradle 中,实现持续集成和自动化代码审查。在项目构建阶段就能发现并修复问题,提高代码质量。 **5. 注意事项** 尽管 FindBugs 能检测出很多潜在问题,...

    eclipse插件 findBugs 最新版

    **Eclipse插件FindBugs详解** FindBugs是一款强大的静态代码分析工具,专为Java开发者设计,用于在代码执行前检测潜在的错误和不良编程习惯...正确地安装和使用FindBugs插件,将有助于构建更稳定、更可靠的软件系统。

    jenkins持续集成单元测试和findbugs问题解决方案

    * 使用 maven 的 tomcat 插件,例如 maven-tomcat-plugin。 在解决 tomcat 热部署问题时,我们需要根据实际情况选择合适的解决方案。 结语 jenkins 是一个功能强大且灵活的自动化服务器,提供了许多插件来支持...

    findbugs-test:试验 maven findbugs 插件

    findbugs-测试目标是: 获取 findbugs 以失败构建错误获取 findbugs 以了解 jsr 305 注释(@Nullable 等) 配置以便所有未注释的东西都假定为@NonNullable (@ParametersAreNonnullByDefault) 目前 1 和 2 有效,但...

    idea插件(FindBugs-IDEA、MavenRunHelper、Rainbow Brackets、Translation)

    今天我们将关注四个能极大提升IDEA用户体验的插件:FindBugs-IDEA、MavenRunHelper、Rainbow Brackets以及TranslationPlugin。 1. **FindBugs-IDEA**: FindBugs是一款静态代码分析工具,用于检测潜在的编程错误和...

    Jenkins中FindBugs、PMD、CheckStyle和Violations静态分析工具安装配置

    使用 Violations 需要安装以上三个插件,然后直接选择使用就可以了。 安装 FindBugs 插件: 1. 点击 Jenkins 首页的“系统管理”。 2. 第二步,点击右侧的“插件管理”。 3. 点击 Available 选项卡。 4. 搜索 ...

Global site tag (gtag.js) - Google Analytics