博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven常用插件配置和使用
阅读量:4188 次
发布时间:2019-05-26

本文共 5633 字,大约阅读时间需要 18 分钟。

主要介绍Maven的几个常见第三方插件(cobertura、findbugs、source、assembly、插件开发)配置和使用,接

 

maven本质上是一个插件框架,它的所有工作都交给插件来做,每个插件可以有多个goal。

除了自带的插件之外还有很多比较成熟的第三方插件,我们也很容易上手进行简单的插件开发,下面一一介绍

 

1 自带插件

maven自带的核心插件为Build plugins和Reporting plugins。
mvn compile编译源码实际上就利用到了maven-compiler-plugin,其他phase也类似用到了相应的插件
关于maven自带的核心插件见:

 

2 第三方插件

2.1 maven有很多成熟的第三方插件
如jetty 对于web开发使用jetty作为容器
native 编译c和c++代码
sql 执行sql脚本
其他更多见:
下面具体介绍下单元测试覆盖率插件cobertura、findbugs

 

2.2 maven2的cobertura插件

2.2.1 cobertura

cobertura是一款用来计算java代码测试覆盖率的工具,基于jcoverage。能计算每个类、包、整个工程的行覆盖率和分支覆盖率以及代码复杂度(Cyclomatic complexity)并生成html或xml形式的报告,让用户很方便的查看代码的单元测试覆盖率情况。cobertura的原理是通过对class文件进行插桩然后计算。

 

2.2.2 maven2的cobertura插件介绍

插件地址为http://mojo.codehaus.org/cobertura-maven-plugin/index.html
a、首先在pom中添加配置如下

<!-- Crayon Syntax Highlighter v_2.7.2_beta -->

<!-- [Format Time: 0.0013 seconds] -->

 

b、运行goal
到项目根目录下运行mvn cobertura:cobertura 将会插桩class文件、测试、生成覆盖率报告
cobertura支持的goal如下:
cobertura:check Check the Last Instrumentation Results.
cobertura:clean Clean up rogue files that cobertura maven plugin is tracking.
cobertura:dump-datafile Cobertura Datafile Dump Mojo.
cobertura:instrument Instrument the compiled classes.
cobertura:cobertura Instruments, Tests, and Generates a Cobertura Report.
c、在target\site\cobertura目录下生成报告文件,打开index.html可以查看具体报告
mvn cobertura:cobertura执行前会执行test phase,即执行单侧代码

 

2.3 maven2的findbugs插件

2.3.1 findbugs

是静态检查java代码的工具,根据一些bugs的表达式检查代码中的bugs,可以自定义检查规则

 

2.3.2 maven2的findbugs插件介绍

插件地址为
a、首先在pom中添加配置如下
不同goal的配置略有不同,可自己调整,以下介绍的是mvn findbugs:findbugs的配置

<!-- Crayon Syntax Highlighter v_2.7.2_beta -->

<!-- [Format Time: 0.0012 seconds] -->

 

b、运行goal
到项目根目录下运行mvn findbugs:findbugs将会开始检查,并生成bugs报告
findbugs支持的goal如下:

<!-- Crayon Syntax Highlighter v_2.7.2_beta -->

<!-- [Format Time: 0.0035 seconds] -->

c、在target\site\findbugs目录下生成报告文件,打开index.html可以查看具体报告

mvn findbugs:findbugs绑定到了compile phase,即在编译时自动检查

 

2.4 maven的source插件

2.4.1 source

用来将工程打包成带源代码的jar包

2.4.2 pom配置如下

<!-- Crayon Syntax Highlighter v_2.7.2_beta -->

<!-- [Format Time: 0.0022 seconds] -->

直接运行mvn clean install会在target下打出两个包,带***-sources.jar的为源码包

 

2.5 maven的assembly插件

2.5.1 assembly

可用来将工程依赖的jar包和工程都打成一个jar打包

2.5.2 pom配置如下

<!-- Crayon Syntax Highlighter v_2.7.2_beta -->

<!-- [Format Time: 0.0008 seconds] -->

直接运行mvn assembly:assembly会在target下出现***-with-dependencies.jar的jar包

 

2.6 插件开发

maven的插件开发相当简单,可以参考

转载地址:http://ldnoi.baihongyu.com/

你可能感兴趣的文章
如何使用MR来读取数据库的数据,并写入HDFS上
查看>>
mapred-site.xml里面配置运行日志的输出目录
查看>>
DistributedCache是Hadoop的一个分布式文件缓存类
查看>>
FileSplit:文件的子集--文件分割体
查看>>
使用Hadoop的MapReduce来完成大表join
查看>>
常用的算法
查看>>
Mina框架
查看>>
Spring MVC 和 Servlet 一样,都不是线程安全的
查看>>
Java线程:线程的同步与锁
查看>>
Mac、Windows可以互相远程
查看>>
oracle提示 ORA-12154: TNS: 无法解析指定的连接标识符
查看>>
oracle 插入数据时提示没有足够的值
查看>>
Oracle Net Manager的使用及配置
查看>>
镜像文件
查看>>
苹果笔记本桌面下面的工具栏没了怎么调出来
查看>>
CSS原理与CSS经验分享
查看>>
oracle中int与number的区别
查看>>
php不用jsonp也能跨域
查看>>
solr作为一种开源的搜索服务器
查看>>
Pig分析数据过程
查看>>