`

在jenkins中使用findbugs并自定义错误类型

阅读更多

1.项目使用mvn管理。

mvn archetype:create   -DgroupId=com.cx  -DartifactId=child1  -DarchetypeArtifactId=maven-archetype-quickstart 

 

2.在maven的pom文件中增加构建插件maven-site-plugin和报表插件findbugs-maven-plugin

 

<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>cx</groupId>

  <artifactId>findbugstest</artifactId>

  <version>1.0-SNAPSHOT</version>

  <packaging>jar</packaging>

 

  <name>findbugstest</name>

  <url>http://maven.apache.org</url>

 

  <properties>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  </properties>

 

  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>3.8.1</version>

      <scope>test</scope>

    </dependency>

  </dependencies>

  

  <build>

    <plugins>

        <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-site-plugin</artifactId>

        <configuration>

          <port>7002</port>

          <tempWebappDirectory>target/site/tempdir</tempWebappDirectory>

        </configuration>

      </plugin>

    </plugins>

  </build>

  

    

  <reporting>

  

    <plugins>

      <!--

      <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-javadoc-plugin</artifactId>

        <configuration>

          <docencoding>${file.encoding}</docencoding>

          <charset>${file.encoding}</charset>

          <encoding>${file.encoding}</encoding>

        </configuration>

      </plugin>  

            -->  

     <plugin>

       <groupId>org.codehaus.mojo</groupId>

       <artifactId>findbugs-maven-plugin</artifactId>

       <version>2.5.3</version>

       <!-- 

<FindBugsFilter>

- <Match>

  <Bug pattern="URF_UNREAD_FIELD,UUF_UNUSED_FIELD,DLS_DEAD_LOCAL_STORE,UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD,RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE,URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD,RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE" /> 

  </Match>

  </FindBugsFilter>

   -->

   

 

       <configuration>

           <!-- 

           <omitVisitors>FindDeadLocalStores,UnreadFields</omitVisitors>

            -->

           <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>

          <findbugsXmlOutput>true</findbugsXmlOutput>

          <findbugsXmlWithMessages>true</findbugsXmlWithMessages>

          <xmlOutput>true</xmlOutput>

     <xmlOutputDirectory>target/site</xmlOutputDirectory>

       </configuration>

    </plugin>                 

    </plugins>

  </reporting> 

    

</project>

 

3.排除的错误类型findbugs-exclude.xml文件如下。与pom.xml文件同级目录。

 

<FindBugsFilter>

<Match>

<!--

      <Bug pattern="URF_UNREAD_FIELD,UUF_UNUSED_FIELD,DLS_DEAD_LOCAL_STORE,UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD,RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE,URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD,RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"/>

      -->

        <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"></Bug>

 <!--

 <Bug pattern="DLS_DEAD_LOCAL_STORE"/>

 <Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD"/>

 <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>

 -->

    </Match>

 

</FindBugsFilter>

 

4.提交项目到SVN。

5.在jenkins中配置构建方法 mvn site:site。构建成功后就可以直接自jenkins左边命令行链接中看到那个可能findbugs红色虫子了。

 

分享到:
评论

相关推荐

    Jenkins 与findbugs集成

    FindBugs是一款用于检测Java代码中潜在错误和漏洞的静态分析工具,它可以有效地帮助开发者在早期阶段发现并修复问题。将Jenkins与FindBugs集成起来,可以在每次构建时自动执行FindBugs检查,从而确保代码质量。 ###...

    FindBugs安装与使用说明

    本篇文章将详细介绍FindBugs的安装过程以及如何在实际项目中使用。 一、安装FindBugs 1. 下载FindBugs 访问FindBugs的官方网站(http://findbugs.sourceforge.net/),选择最新版本的FindBugs下载。通常,下载的是...

    findbugs-1.3.9.rar

    在实际应用中,FindBugs可以与其他持续集成工具(如Jenkins或Hudson)结合使用,实现自动化代码审查。这有助于保持代码库的整洁,减少因人为错误导致的问题,提高软件的可靠性和稳定性。 总的来说,FindBugs是一个...

    findbugs-1.3.7.zip

    开发者可以根据项目需求,自定义FindBugs的配置,例如忽略特定的错误类型,或者设置特定的严重性阈值。这样可以让分析更加符合项目的实际情况。 7. **与其他工具的协同工作** FindBugs可以与持续集成工具(如...

    FindBugs安装和使用说明

    5. 集成到开发流程:为了持续改进代码质量,FindBugs可以集成到持续集成服务器(如Jenkins或TeamCity)或IDE(如Eclipse)中,以便在每次编译时自动执行静态分析。 6. 自定义配置:FindBugs允许用户自定义分析规则...

    findbugs.rar

    在项目中使用FindBugs,只需右键点击项目或源代码文件,选择"FindBugs" -&gt; "Analyze Project"或"Analyze Selection"。分析完成后,FindBugs会在"Problems"视图中列出所有检测到的问题,每个问题都会有一个优先级...

    findbugs安装与使用

    3. **创建排除过滤器**:为了忽略某些不必要的警告,可以创建`spotbugs-exclude.xml`文件,并指定不报告的错误类型。 4. **运行Maven命令**:在终端中运行`mvn spotbugs:spotbugs`,Maven会执行FindBugs并生成报告...

    FindBugs-IDEA-1.0.1插件

    6. **持续集成支持**:FindBugs不仅可以作为IDE插件使用,还可以集成到持续集成系统中,如Jenkins或Travis CI,确保团队在整个软件开发生命周期内保持代码质量。 在实际使用FindBugs-IDEA-1.0.1插件时,开发者只需...

    Jenkins操作

    在本实践中,我们将深入探讨如何使用Jenkins配合checkstyle、findbugs和pmd进行代码质量检查,以及如何配置Maven项目。这些工具都是Java开发中的重要组件,它们能够帮助我们确保代码的规范性、稳定性和安全性。 ...

    findbugs插件及安装

    它能够通过分析字节码来检测潜在的代码缺陷,如空指针异常、未初始化的变量、资源泄漏等问题,帮助开发者在程序运行前发现并修复错误,提高软件的质量和稳定性。 ## FindBugs插件介绍 FindBugs插件是将FindBugs...

    findbugs插件

    FindBugs不仅支持MyEclipse,还可以与Eclipse、IntelliJ IDEA等其他IDE集成,也可以作为命令行工具独立使用,或者集成到持续集成系统如Jenkins中。 7. **自定义规则** 对于企业或团队,可以根据自身需求创建...

    FindBugs1.3.4eclipse插件

    3. **自定义配置**:用户可以根据项目需求自定义FindBugs的检测规则,选择关注的错误类型和严重性。 4. **集成报告**:FindBugs的结果可以直接在Eclipse的problems视图中查看,也可以导出为HTML或XML格式的报告,...

    findbugs工具

    FindBugs是一款强大的静态代码分析工具,主要用于检测Java应用程序中的潜在错误和不良编程习惯。它通过对编译后的字节码进行分析,而不需要运行代码,因此可以在开发阶段就能找出可能存在的问题,帮助开发者提高代码...

    jenkinsk中文使用手册

    - 在Jenkins中安装FindBugs插件。 - 配置FindBugs规则和扫描选项。 2. **FTP插件配置**: - FTP插件用于将构建结果上传至FTP服务器。 - 安装FTP插件。 - 配置FTP服务器连接信息。 3. **JUnit插件**: - JUnit...

    violations-lib,Java库用于从静态代码分析中解析报表文件。.zip

    静态代码分析工具有很多,如Checkstyle、PMD、FindBugs、SonarQube等,它们生成的报告通常包含了大量的信息,包括文件名、行号、错误类型、错误消息等。violations-lib库能够读取这些报告,并将其转换为统一的格式,...

    软件测试工具,静态源代码测试工具

    在软件开发过程中,静态源代码测试工具扮演着至关重要的角色,它们主要用于在代码执行之前发现潜在的错误和缺陷。这种类型的测试无需运行程序,而是通过分析代码结构来识别潜在问题,提高了开发效率和软件质量。以下...

    如何编写高质量Java代码

    在敏捷开发中,单元测试尤其重要,因为它可以帮助开发团队快速反馈并及时调整代码。 - **测试框架**:JUnit是Java领域中最常用的单元测试框架之一,它提供了丰富的API来编写和运行测试用例。 - **覆盖率**:为了...

    ESIGELEC_JEE_JavaClassValidator:这个项目的主要问题是运行java代码,如果有人就输出错误

    Java编程语言是软件开发领域广泛使用的工具,尤其在企业级应用(JEE)中更是不可或缺。ESIGELEC_JEE_JavaClassValidator项目显然旨在验证Java类的正确性,通过运行代码并检测潜在的错误。这通常是开发过程中的重要...

    我们将常用的测试工具分为10类.docx

    测试工具在软件开发和维护过程中扮演着至关重要的角色,它们帮助开发者和测试人员发现和修复问题,确保产品质量。本文将详细介绍各类测试工具及其特点。 **测试管理工具**用于跟踪测试活动,包括缺陷管理、测试计划...

Global site tag (gtag.js) - Google Analytics