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

一、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>
时间: 2024-08-15 14:26:23

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

maven的pom文件解析及配置

1.IDEA中的Maven的pom.xml文件,其实比较通俗点介绍功能主要项目引入的jar包,管理配置项目以及一些插件的配置等项目 2.对于pom配置详细介绍,整理如下2篇文档介绍的比较系统全面: https://blog.csdn.net/xyphf/article/details/81228737 https://blog.csdn.net/qq_17085463/article/details/78820645 原文地址:https://www.cnblogs.com/chch213/p/

MyEclipse导入Maven项目pom文件第一行报错,运行Tomcat报Log4j错误--解决方法

问题描述: 前一段时间电脑第一次导入Maven项目,又是pom文件错,改好后又是运行Tomcat报Log4j错误,一直倒腾了近一个月程序才成功跑起来,太不容易. 也上网查了很长时间,没一个方法能解决我的问题的.特记下解决方法,希望能帮到像我这样的web刚入门者. (刚入门,肯定有说的不对的地方,有错也希望能指出来,我改正) 前期操作:导入项目后clean,install,update,中会报错(因为我已经解决了,所以没有×). 两问题对应解决方法: 1.pom文件第一行大红叉,说明是项目的文件指

Maven 的 pom 文件、生命周期

1. pom 文件 pom 代表项目对象模型,它是 Maven 中工作的基本组成单位.它是一个 XML 文件,始终保存在项目的基本目录中的 pom.xml 文件中.pom 包含的对象是使用 Maven 来构建的,pom.xml 文件包含了项目的各种配置信息,需要特别注意,每个项目都只有一个 pom.xml 文件. pom 文件中有一些节点用来描述项目配置信息,比如: 1)project:工程的根标签 2)modelVersion:pom 模型版本,maven2和3只能为4.0.0 3)group

连接私服仓库maven的pom文件报错:Project build error: Non-resolvable parent POM

配置了私服maven仓库,在内网160服务器上,修改了maven配置文件.下载了一个项目,pom文件报错 问题如图:         将<version>1.5.13.RELEASE</version>改成<version>2.0.1.RELEASE</version> 在更新项目 选中项目右击->maven->update project 刷新160上的私服网页看到jar包下载了 参考:https://blog.csdn.net/zyp6309

【maven的使用】2使用maven与pom文件

一.使用maven:首先需要知道的是,在我们开发人员中有一句话叫做:约定优于配置.比如,如果我们写代码有多种可选方案:硬编码形式:obj.setPath("d:/xxxx") .配置形式:conf.xml -> <path>d:/xxx</path>.约定形式:使用默认值d:/xxxmaven使用的就是约定形式,它约定为main目录中写执行项目,test目录中写测试项目,当执行命令下达则maven会在main中找,测试命令下达在test中找. maven约

Maven的Pom文件中的隐式依赖导致Jar包冲突的问题

在一次的maven项目中遇到这样一个bug: 编译器没有报什么错,但无法编译,或者能编译,项目启动不了.后来我才发现是以下的问题: 项目中的pom文件中,依赖了webx3.core,而webx3.core又隐式依赖了fasttext相关的jar包,同时我在pom中也引人了fasttext.all, fasttext.all也隐式依赖了fasttext相关的jar包,两类jar包版本还不一样,这样就导致了jar包冲突的问题,牵扯到的pom文件依赖如下: <dependency><group

JAVA程序操作hbase的Maven配置pom.xml文件

软件151  卢炜杰 由于工作需要,用到Java连接Hbase读写数据.原来的方式是直接将依赖的jar包全部下载下来,然后工程里面引用. 现想重构下,改为使用Maven管理,遇到了各种坑,各种不好使,特总结下. <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-it</artifactId> <version>1.1.2</version>

maven中pom文件配置解决资源文件的编码问题

<build> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugi

maven ssm pom 文件

1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3 <modelVe