`
weitao1026
  • 浏览: 1047814 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Maven常用插件配置和使用

 
阅读更多

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

 

maven本质上是一个插件框架,它的所有工作都交给插件来做,每个插件可以有多个goal。
除了自带的插件之外还有很多比较成熟的第三方插件,我们也很容易上手进行简单的插件开发,下面一一介绍

 

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

 

2 第三方插件
2.1 maven有很多成熟的第三方插件
如jetty 对于web开发使用jetty作为容器
native 编译c和c++代码
sql 执行sql脚本
其他更多见:http://maven.apache.org/plugins/index.html#Outside_The_Maven_Land
下面具体介绍下单元测试覆盖率插件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插件介绍
插件地址为http://mojo.codehaus.org/findbugs-maven-plugin/index.html
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://trinea.iteye.com/blog/1171957

分享到:
评论

相关推荐

    IDEA插件推荐之Maven-Helper的教程图解

    4. 安装和配置:Maven-Helper 插件的安装和配置非常简单。开发者只需要在 IDEA 插件市场中搜索 Maven Helper,然后安装并重启 IDEA 就可以开始使用。需要注意的是,在国内网络连接 JetBrains 服务器可能会比较慢,...

    Maven常用插件整理.docx

    在Java开发领域,Maven是广泛使用的构建工具,它...综上所述,Maven的插件系统极大地增强了其灵活性和实用性,使得开发者能够根据项目需求自定义构建过程。正确配置和使用这些插件,能够确保项目构建高效且符合预期。

    maven仓库插件

    在`pom.xml`文件中,我们可以通过`&lt;build&gt;`标签下的`&lt;plugins&gt;`部分来配置和使用Maven插件。例如,为了配置Maven仓库插件,我们需要指定插件的groupId、artifactId、version以及可能的执行目标和参数。 ```xml ...

    Maven学习必要插件

    在本文中,我们将深入探讨Maven的核心功能、常用插件以及如何配置和使用这些插件。 1. **Maven核心功能** Maven通过Project Object Model (POM)来描述项目,POM是一个XML文件,包含了项目的配置信息,如依赖、构建...

    maven 自定义插件小示例

    通过以上步骤,你可以根据项目需求定制自己的Maven插件,增强Maven的灵活性和实用性。在实际开发中,自定义插件可以帮助解决特定场景下的问题,提高开发效率。对于熟悉Maven的开发者来说,掌握自定义插件的创建和...

    IDEA配置使用Maven Helper插件的方法(详细配置)

    "IDEA配置使用Maven Helper插件的方法" IDEA作为一款功能强大的集成开发环境,提供了多种插件来提高开发效率。Maven Helper插件是其中之一,旨在帮助开发者更好地使用Maven项目。下面将详细介绍IDEA配置使用Maven ...

    maven插件及其使用方法

    一个基本的插件配置如下: ```xml &lt;groupId&gt;com.example&lt;/groupId&gt; &lt;artifactId&gt;example-plugin &lt;version&gt;1.0.0 &lt;id&gt;custom-goal &lt;phase&gt;package &lt;goal&gt;custom-goal &lt;!-- 配置参数 --&gt; ...

    maven插件压缩包

    在没有互联网的情况下,安装和使用 Maven 插件可能会变得困难,因为通常我们都是通过 Maven 中央仓库下载所需的插件。离线 Maven 插件压缩包则提供了本地化解决方案,它包含了一组预打包的插件,可以直接在本地环境...

    eclipse安装maven插件

    在IT行业中,Maven是一个广泛使用的项目管理和综合工具,它主要负责构建、依赖管理和项目信息管理。Eclipse作为流行的Java集成开发环境(IDE),通过安装Maven插件,可以让开发者在Eclipse内部方便地进行Maven项目的...

    Myeclipse6.5的Maven插件

    4. **配置管理**:Maven的`pom.xml`文件是项目的核心配置文件,插件提供图形化的界面,方便编辑和管理`pom.xml`,包括添加、删除和管理依赖,设置插件配置等。 5. **版本控制**:Maven插件支持与Git、SVN等版本控制...

    Maven Tomcat 插件

    ### Maven Tomcat 插件详解 #### 一、引言 在现代软件开发过程中,持续集成与部署(CI/CD)已成为提升开发效率的关键技术之一。...此外,插件还支持多种部署选项,如热部署等,进一步增强了其灵活性和实用性。

    李兴华maven配置与使用

    Maven默认使用中央仓库,但也可以配置使用阿里云、公司内部仓库等。通过`settings.xml`中的`mirror`元素,可以设置优先访问的镜像。 9. **Maven的 profiles** profiles允许在不同的环境(如开发、测试、生产)下...

    maven逆向工程和分页插件

    首先,你需要在项目的pom.xml文件中添加MyBatis Generator的依赖和插件配置,配置包括数据库连接信息、生成的文件路径、以及需要逆向的表名等。一旦配置完成,运行Maven的generate目标,插件就会根据配置自动生成...

    m2maven是maven管理插件

    **m2maven:Maven管理插件详解** 在软件开发过程中,依赖管理和构建工具有着至关重要的作用,它们能够帮助开发者...无论是对新手还是经验丰富的开发者来说,m2maven都是一个非常实用的工具,值得在日常开发中使用。

    maven离线插件

    Maven是Java开发中广泛使用...总的来说,"maven离线插件"对于那些在网络受限的环境中工作的Java开发者来说,是一个非常实用的工具,它使得Maven的构建功能能在无网或低网速环境下正常运行,提高了开发的灵活性和效率。

    maven helper插件

    7. **运行/调试配置**:插件还支持自定义运行和调试配置,允许开发者针对特定的Maven目标执行或调试,提高了工作效率。 8. **兼容性与集成**:maven helper插件无缝集成于IntelliJ IDEA,无需额外安装,且兼容各种...

    maven helper idea 插件

    它提供了多种实用功能,帮助开发者更高效地处理Maven依赖关系,排查冲突,以及更好地理解和操作POM.xml配置文件。以下将详细介绍该插件的主要功能和使用方法。 1. **依赖分析**:Maven Helper的核心功能之一是提供...

    maven及eclipse插件下载和使用.zip

    通过了解和掌握Maven的使用,以及如何在Eclipse中集成Maven插件,开发者可以更加专注于编写代码,而不是处理构建问题。因此,对于Java开发者来说,学习和熟练运用Maven及其Eclipse插件是十分必要的。

    Apache Maven插件

    Apache Maven 插件是Java开发领域中不可或缺的一部分,它是由Apache软件基金会提供的一个项目管理和集成工具。Maven通过使用一种标准化的项目...通过熟练掌握Maven插件的使用,可以大大提高开发效率和项目的可维护性。

Global site tag (gtag.js) - Google Analytics