`

Maven 插件使用详解

 
阅读更多

自定义构建Maven项目,需要包括额外的插件或者配置已存在的插件参数。 
1. maven-compiler-plugin 指定JDK版本和编码方式 
compiler插件能解决2个问题: 

第一: maven 2.1默认使用jdk 1.3来编译,这个版本不支持注解,compiler插件可以指定JDK版本为1.6,解决这个问题。 

第二:windows平台默认使用GBK编码,如果工程编码为utf8,也需要在compiler插件中指出,否则按GBK编码,也会出问题 

      <plugins> 

           <plugin> 

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

              <artifactId>maven-compiler-plugin</artifactId> 

              <configuration> 

                  <source>1.6</source> 

                  <target>1.6</target> 

                  <encoding>UTF8</encoding> 

              </configuration> 

           </plugin> 

      </plugins> 

2. maven-war-plugin 打war包在web子项目中指定 
<plugin> 

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

           <artifactId>maven-war-plugin</artifactId> 

           <version>2.1-beta-1</version> 

           <configuration> 

              <attachClasses>true</attachClasses> 

           </configuration> 

    </plugin> 

<attachClasses>true</attachClasses> 可以把JAR文件和标准的WAR文件同时安装到Maven仓库中 

3. 单元测试插件 maven-surefire-plugin 
<plugin> 

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

           <artifactId>maven-surefire-plugin</artifactId> 

           <configuration> 

              <argLine>-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m</argLine> 

              <excludes> 

                  <exclude>**/TestConstants.java</exclude> 

              </excludes> 

              <forkMode>always</forkMode> 

           </configuration> 

</plugin> 

<argLine>-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m</argLine>调整JVM(-Xmx1024m)和PermSize(-XX:PermSize=256m -XX:MaxPermSize=256m)内存 

<excludes> 

       <exclude>**/TestConstants.java</exclude> 

</excludes> 

运行测试脚本时不执行TestConstants.java文件 

<forkMode>always</forkMode> 

Maven运行测试用例时,是通过调用maven的surefire插件并fork一个子进程来执行用例的。forkmode属性中指明是要为每个测试创建一个进程,还是所有测试在同一个进程中完成。 

forkMode 可设置值有 “never”, “once”, “always” 和 “pertest”。 

pretest: 每一个测试创建一个新进程,为每个测试创建新的JVM是单独测试的最彻底方式,但也是最慢的,不适合hudson上持续回归 

once:在一个进程中进行所有测试。once为默认设置,在Hudson上持续回归时建议使用默认设置。 

always:在一个进程中并行的运行脚本,Junit4.7以上版本才可以使用,surefire的版本要在2.6以上提供这个功能,其中 threadCount:执行时,指定可分配的线程数量。只和参数parallel配合使用有效。默认:5。 

<forkMode>always</forkMode> 

<parallel>methods</parallel> 

<threadCount>4</threadCount> 

4 .Resource插件 
<filters>    

       <filter>${user.home}/asssd.properties</filter> 

</filters> 

<resources> 

       <resource> 

           <directory>src/main/resources</directory> 

           <filtering>true</filtering> 

           <includes> 

              <include>**/*</include> 

           </includes> 

       </resource> 

       <resource> 

           <directory>src/main/java</directory> 

           <includes> 

              <include>**.xml</include> 

           </includes> 

       </resource> 

</resources> 

运行打包命令时,将src/main/resources中的所有文件和src/main/java目录下的所有.xml文件打到jar包中。 

其中filters过滤器的作用是将所有引用文件中的${变量名称},替换成antx.properties文件中的变量值。要使用过滤器时,首先需要设置过滤器: 

<filters>    

       <filter>${user.home}/antx.properties</filter> 

</filters> 

然后再启动过滤器, true需要过滤,false不需要过滤: 

<filtering>true</filtering> 

5、Maven常用命令 
1、运行应用程序中的单元测试:mvn test或mvn test -Dtest=***Test, 其中“***Test”为被测试用例的类名(不需要输入.java) 

         打开控制台,进入测试工程所在目录:D:\workspace-sell\sell-qatest路径;输入mvn test命令后,开始执行sell-qatest中的所有测试脚本,并将信息输出到控制台。 

         如果要单独运行一个测试类里的用例,如 publishAuctionTest.java,则可以运行 mvn test -Dtest=publishAuctionTest 

2、清除目标目录中的生成结果:mvn clean(清除taget文件夹中内容) 

3、在本地repo中安装jar:mvn install。运行命令后工程根目录下生成target文件夹,文件夹内存放jar包,class文件夹等内容。本地仓库repo中生成工程jar包目录。 

4、将工程打包:mvn package。运行命令后工程根目录下生成target文件夹,文件夹内存放jar包,class文件夹等内容。 

5、生成Eclipse项目文件:mvn eclipse:eclipse。运行命令后生成eclipse工程,项目的根目录下产生.project、.classpath文件和target文件夹。将该工程导入到eclipse中:打开eclipse,通过file->import,导入到eclipse中。 

6、清除Eclipse工程:mvn eclipse:clean。.classpath和.project文件会被删除。 

7、在运行install 或package时,测试代码不被执行: 

第一种方法:在cmd运行mvn install 或mvn package 命令后加上-Dmaven.test.skip=true 。 

例如:mvn install -Dmaven.test.skip=true 

第二种方法:在pom.xml文件的maven-surefire-plugin插件中添加参数:<skip>true</skip> 

<plugin> 

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

<artifactId>maven-surefire-plugin</artifactId> 

<inherited>true</inherited> 

<configuration> 

<skip>true</skip> 

</configuration> 

</plugin>

分享到:
评论

相关推荐

    Spring Boot Maven插件使用详解

    主要为大家详细介绍了Spring Boot Maven插件使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    eclipse离线安装maven插件详解(内附maven插件包)

    详细讲解如何为电脑和Eclipse安装maven插件,并且包含maven的电脑安装包和Eclipse的maven插件包,maven插件安装位离线安装,因为在线安装很慢,而且容易出错,原创哦,哈哈

    maven使用详解

    1、 maven技术简介 2、 maven快速入门 (安装配置、 常用命令) 3、 在Eclipse基于(插件)maven构建项目 4、 maven配置详解 (难点) 案例:将仓库管理系统,重构maven结构

    eclipse maven 插件的安装和配置详解

    主要介绍了eclipse maven 插件的安装和配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    使用 eclipse oxygen maven 搭建 springmvc mybatis druid 的增删改框架代码

    代码用的别人的,框架自己搭建,可以运行通过 使用 eclipse oxygen maven 搭建 springmvc mybatis druid 的增删改框架代码

    eclipse怎么安装maven开发插件

    该文档主要讲述maven插件安装过程与详解

    maven window下安装包

    第12章:编写自定义插件/12.4 使用自定义插件/12.4.1 在新建的Maven项目中引用自定义插件 第12章:编写自定义插件/12.4 使用自定义插件/12.4.2 测试自定义插件 第12章:编写自定义插件/12.4 使用自定义插件/12.4.3 ...

    sortpom:Maven插件,可帮助用户对pom.xml进行排序

    Sortpom Maven插件 Maven插件通过格式化XML并按预定义的顺序组织XML部分来帮助用户对pom.xml进行排序。 标准化排序的pom的主要优点是它们更具可读性,并且不同模块pom之间的比较变得更加容易。 目标概述 SortPom...

    maven使用讲解以及安装包

    本资源详细介绍了maven的相关知识,Eclipse中安装Maven插件以及如何使用maven,创建Maven项目.Maven中坐标和仓库的概念等.以及maven的安装包.

    Maven介绍安装和配置详解

    1. **项目对象模型(POM)**:Maven使用一个XML文件(pom.xml)来描述项目的基本信息,如项目名称、版本、依赖项等。通过这个文件,Maven可以自动化地完成项目的构建、依赖管理、报告生成等工作。 2. **依赖管理**:...

    详解eclipse中Maven工程使用Tomcat7以上插件的方法

    本篇文章主要介绍了详解eclipse中Maven工程使用Tomcat7以上插件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Maven生命周期和及插件原理用法详解

    主要介绍了Maven生命周期和及插件原理用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值的相关资料

    Maven功能介绍以及安装配置详解

    项目对象模型(POM):Maven使用一个XML文件(pom.xml)来描述项目的基本信息,如项目名称、版本、依赖项等。通过这个文件,Maven可以自动化地完成项目的构建、依赖管理、报告生成等工作。 依赖管理:Maven可以自动...

    2024最新版HM-Maven详解

    2024最新版HM_Maven详解。

    详解安装Eclipse Maven插件的几种方法

    本篇文章主要介绍了详解安装Eclipse Maven插件的几种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    ssm-maven增删改查+分页

    ssm-maven实现对用户增删改查,数据分页显示+++++++++++

    maven的pom.xml说明详解

    -工程组号- -通用前置接口号- -版本号- -打包文件前置.xml- -全局属性配置- -NJCC开发环境(MySQL)- -部署环境(对应配置文件版本)- -设置默认环境- -NJCC开发环境(Oracle)- -部署环境(对应配置文件版本...-打包插件-

    maven的安装和配置

    Apache Maven是一个很流行的软件项目管理和理解工具,它能够被用来构建和管理任何基于java的项目,主要有以下...2、maven配置文件详解 2.1、localRepository配置 2.2、servers配置 2.3、mirrors配置 2.4、profiles配置

    maven详解之仓库.docx

    在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。 Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地方) 任何的构件都有唯一...

    Maven权威指南 很精典的学习教程,比ANT更好用

    基于Maven插件的全局性重用 1.5. 一个“项目”的概念模型 1.6. Maven是Ant的另一种选择么? 1.7. 比较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven ...

Global site tag (gtag.js) - Google Analytics