文档章节

maven配置pom文件添加PMD检查,添加checkStyle检查,JDepend等检查功能

binhu
 binhu
发布于 2015/05/11 10:00
字数 691
阅读 2358
收藏 8

一、PMD是扫描 Java 源码并查找以下潜在问题: 
     从未用过的局部变量 
     空捕捉块(catch block) 
      从未用过的参数 
     空if声明 
     重复的导入声明 
    从未用过的私有方法 
     孤立的类 
     短型或长型变量及方法名 

加入PMD检查, 以下代码如果在reporting节点中加入则在mvn site中执行,如果在build节点中加入,则在build的时候自动运行检查。详细配置参考pmd插件使用说明

 	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-pmd-plugin</artifactId>
			<version>2.5</version>
		</plugin>
	</plugins>

加入 checkstyle 检查,详细配置参考checkstyle插件使用说明,同样注意放置在reporting和build节点中的区别(所有报表类插件都要同样注意):

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-checkstyle-plugin</artifactId>
	<version>2.5</version>
</plugin>

加入 simian 的支持,simian是一个支持代码相似度检查的工具,目前有maven插件,也有checkstyle的插件。它不仅可以检查java,甚至可以支持文本文件的检查。详细帮助信息参考这里。simian 的 maven插件在这里

<plugins>	           
	    <plugin>	               
		<groupId>org.codehaus.mojo</groupId>               
		<artifactId>simian-maven-plugin</artifactId>               
		<version>1.6.1</version>	           
	    </plugin>        
	</plugins>

加入 jdepend 检查,详细配置参考jdepend使用说明

<plugin>
	<groupId>org.codehaus.mojo</groupId>
	<artifactId>jdepend-maven-plugin</artifactId>
	<version>2.0-beta-2</version>
</plugin>

加入 findbugz 检查,详细配置参考findbugz使用说明

      <plugin>         <groupId>org.codehaus.mojo</groupId>         <artifactId>findbugs-maven-plugin</artifactId>         <version>2.0.1</version>       </plugin>

加入javadoc生成,详细配置参考javadoc usage

      <plugin>         <groupId>org.apache.maven.plugins</groupId>         <artifactId>maven-javadoc-plugin</artifactId>         <version>2.7</version>         <configuration>           ...         </configuration>       </plugin>

加入 jxr 支持,JXR是一个生成java代码交叉引用和源代码的html格式的工具,详细配置信息参考jxr usage。注意,jxr没有必要在build阶段运行。

  <reporting>     <plugins>       <plugin>         <groupId>org.apache.maven.plugins</groupId>         <artifactId>maven-jxr-plugin</artifactId>         <version>2.1</version>       </plugin>     </plugins>   </reporting>

加入 Cobertura 支持,它是一个代码覆盖率工具,可以用来评估具有相应测试的源代码的比率。详细帮助在这里。另外一个功能相似的软件是EMMA,详细的帮助在这里。两个产品的比较文章在这里,个人倾向于都要用,因为给出的指标不一样,都有参考作用。

      <plugin>         <groupId>org.codehaus.mojo</groupId>         <artifactId>cobertura-maven-plugin</artifactId>         <version>2.4</version>         <configuration>           <check>             <branchRate>85</branchRate>             <lineRate>85</lineRate>             <haltOnFailure>true</haltOnFailure>             <totalBranchRate>85</totalBranchRate>             <totalLineRate>85</totalLineRate>             <packageLineRate>85</packageLineRate>             <packageBranchRate>85</packageBranchRate>             <regexes>               <regex>                 <pattern>com.example.reallyimportant.*</pattern>                 <branchRate>90</branchRate>                 <lineRate>80</lineRate>               </regex>               <regex>                 <pattern>com.example.boringcode.*</pattern>                 <branchRate>40</branchRate>                 <lineRate>30</lineRate>               </regex>             </regexes>           </check>         </configuration>         <executions>           <execution>             <goals>               <goal>clean</goal>               <goal>check</goal>             </goals>           </execution>         </executions>       </plugin>
  <reporting>     ...     <plugins>       ...       <plugin>         <groupId>org.codehaus.mojo</groupId>         <artifactId>emma-maven-plugin</artifactId>         <version>1.0-alpha-3-SNAPSHOT</version>       </plugin>       ...     </plugins>     ...   </reporting>

添加 javaNCSS 插件,它是一个java代码的度量工具,详细参考在这里

  <reporting>     <plugins>       <plugin>         <groupId>org.codehaus.mojo</groupId>         <artifactId>javancss-maven-plugin</artifactId>         <version>2.0-beta-2</version>       </plugin>     </plugins>   </reporting>


© 著作权归作者所有

下一篇: findbugs
binhu
粉丝 19
博文 209
码字总数 205648
作品 0
合肥
私信 提问
7 款提高 Java 代码质量的 Eclipse 插件

FindBugs: FindBugs是一个能静态分析源代码中可能会出现Bug的Eclipse插件工具。 CheckStyle: CheckStyle 是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它...

红薯
2012/01/23
16.1K
3
Java静态检测工具/Java代码规范和质量检查简单介绍(转)

静态检查: 静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查代码检查包括代码走查、桌面检查、代...

easonjim
2017/10/18
0
0
Apache Buildr 1.4.18 发布,,项目构建系统

Apache Buildr 1.4.18 发布,Buildr是一个简单直观的Java项目构建系统,在进行了10个月的开发并获得许多正面反馈之后,Apache基金会将会向Buildr敞开大门并最终接手这个项目,这将是Apache基...

oschina
2014/06/29
2.1K
6
eclipse常用插件在线安装地址或下载地址{转载自:旭龙 360doc}

一,反编译插件: A、Jadclipse 1、打开eclipse增加站点:http://jadclipse.sf.net/update,在线安装好JDT Decompiler 3.4.0 2、http://nchc.dl.sourceforge.net/sourceforge/jadclipse/net.......

东京吥太热
2014/02/12
249
0
maven常见问题问答(超全面)

1.前言 Maven,发音是[`meivin],"专家"的 意思。它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目完全迁移并应用maven,所以对maven进行 了一些深入...

整理秀逗的脑袋
2011/10/13
13.7K
8

没有更多内容

加载失败,请刷新页面

加载更多

cpu load过高问题排查

load average的概念 top命令中load average显示的是最近1分钟、5分钟和15分钟的系统平均负载。 系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程...

mskk
48分钟前
6
0
用spring boot 实现websocket

import java.io.IOException;import javax.websocket.OnClose;import javax.websocket.OnError;import javax.websocket.OnMessage;import javax.websocket.OnOpen;import java......

jingshishengxu
58分钟前
4
0
shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向,管道符和作业控制

shell介绍 可以使用 yum list |grep zsh 或者 yum list |grep ksh 这样可以搜索 zsh 和 ksh ,有需要的话可以安装 总之,默认使用的就是 .bash shell 命令历史 输入过的命令会被保存在一个文...

doomcat
今天
7
0
1995年的资深工程师,和你谈谈如何进阶

1995年的资深工程师,和你谈谈如何进阶 自我介绍 网络ID:杭城小刘,城市:顾名思义,人在杭州。1995年出生,本科毕业,现在是一名 iOS 资深工程师,年薪 35w。兴趣爱好广泛:乒乓球、美食、...

杭城小刘
今天
10
0
Kafka 面试题

1.Kafka中的ISR、AR代表什么? ISR:与leader保持同步的follower集合 AR:分区的所有副本 2.Kafka中的HW、LEO分别代表什么? LEO:每个副本的最后条消息的offset HW:一个分区中所有副本最小...

djm猿
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部