`

maven常用插件和mvn test命令

阅读更多
自定义构建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>
分享到:
评论

相关推荐

    maven常用命令.docx

    Maven是Java开发中的一款强大的构建工具,它简化了项目的构建、依赖管理和生命周期过程。通过配置POM(Project Object Model)文件,Maven可以自动...理解并熟练使用这些命令和插件配置,能极大地提升Java开发的效率。

    Mvn常用命令总结

    某些Maven插件支持通过-D参数传递额外的配置信息,如设置WTP版本等。 #### 15. 显示详细日志:`mvn -e` 在调试构建问题时,使用该选项可以使Maven打印出更详细的日志信息。 #### 16. 验证项目状态:`mvn validate...

    maven学习与命令

    #### 二、常用Maven命令详解 ##### 1. 创建Java项目 ```sh mvn archetype:create -DgroupId=packageName -DartifactId=projectName ``` **解释:** - `mvn archetype:create`:使用Maven的原型插件创建新项目。 - `...

    maven 常用命令集合

    maven 常用命令集合 Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,主要用于 Java 项目的构建、测试和部署。Maven 的强大之处在于其提供了一种标准化的方式来构建、测试和部署项目,...

    mvn 常用命令手册mvn开发必备

    Maven 是一个项目管理和理解工具,它包含了一个项目对象模型 (POM),一组标准集合,一个项目生命周期,一个依赖管理机制,用于运行构建任务的插件集合,以及用来扩展现有功能的插件机制。在实际开发过程中,熟练掌握...

    apache-maven的插件包:apache-maven-3.3.9-bin.zip

    Maven会根据这个文件自动下载所需的依赖,并按照预设的生命周期阶段(如clean, compile, test, package, install, deploy)执行相应的插件目标。 例如,`maven-compiler-plugin`插件用于编译Java源代码,`maven-...

    maven常用命令以及以个测试项目

    **正文** Maven是Java开发中的一...通过熟练掌握Maven命令和配置,开发者可以高效地管理项目依赖,实现自动化构建,从而提高开发效率。而提供的测试项目则可以帮助我们更好地理解Maven如何与测试集成,确保代码质量。

    mvn常用命令

    MVN常用命令 MVN(Maven)是一款基于项目对象模型(POM)的项目管理工具,它可以帮助开发者管理项目的依赖关系、编译、测试、打包和部署。下面是MVN的常用命令: 创建Maven项目 1. 创建Maven的普通Java项目:`mvn...

    maven安装以及eclipse的maven插件安装

    ### Maven安装及Eclipse的Maven插件安装详解 #### Maven安装步骤 1. **下载Maven**: 首先,需要从官方网站或其他可靠来源下载Maven的最新版本。假设这里下载了`apache-maven-3.1.0.zip`。 2. **解压缩**: 将下载...

    maven 3.5.2 maven 3.5.2 maven 3.5.2

    3. **构建项目**: 使用`mvn compile`进行编译,`mvn test`运行测试,`mvn package`打包项目,`mvn install`将项目安装到本地仓库。 4. **部署项目**: 使用`mvn deploy`可以将项目部署到远程仓库,供其他项目使用。 ...

    maven内存溢出解决放啊

    3. **构建任务**:某些Maven插件或构建目标(例如`mvn site`)会占用大量内存。 4. **系统资源限制**:开发者的机器硬件配置,特别是可用内存容量。 #### 三、解决内存溢出问题的方法 ##### 3.1 Windows环境 在...

    maven 3.8.5 linux版本下载

    在Linux环境下,解压`apache-maven-3.8.5`后,需要将Maven的bin目录添加到PATH环境变量中,以便全局调用`mvn`命令。配置文件`settings.xml`位于`conf`目录下,用于设置本地仓库路径、远程仓库地址以及镜像配置,可以...

    maven 常用命令

    3. 插件管理:通过定义在pom.xml的&lt;build&gt;&lt;plugins&gt;或节点中,可以配置Maven插件,执行特定的任务。 4. 属性注入:使用`${property_name}`语法在pom.xml中引用属性值,可以在命令行通过`-Dproperty_name=value`指定...

    maven常用命令

    ** Maven 常用命令详解 ** Maven 是一个强大的构建工具,主要用于管理 Java 项目的构建、依赖和文档生成。...通过理解并熟练运用这些 Maven 命令和概念,开发者可以更高效地管理 Java 项目,确保构建过程的顺利进行。

    mvn配置命令文档

    - 将Maven插件的`features`和`plugins`目录复制到MyEclipse的`dropins`目录下(例如:`D:/JAVA/MyEclipse/MyEclipse10/dropins/maven`)。 - 创建一个名为`maven.link`的文件,并编辑其内容为`path=D:/JAVA/...

    maven安装包

    在 Java 开发中,Maven 减轻了构建过程的复杂性,通过统一的构建机制和丰富的插件支持,使得开发者可以更加专注于代码本身。 **一、Maven 的作用** 1. **依赖管理**:Maven 使用中央仓库来存储各种项目依赖,如 ...

    Apache Maven插件

    例如,常用的`mvn compile`命令用于编译源代码,`mvn test`执行单元测试,`mvn package`将编译后的代码打包成JAR或WAR文件。 2. 依赖管理:Maven的中央仓库包含了大量的开源库,开发者可以通过在POM.xml文件中声明...

    maven常用包

    三、Maven插件 1. 编译插件(maven-compiler-plugin):负责Java源代码的编译。 2. 打包插件(maven-jar-plugin):将编译后的类打包成JAR文件。 3. 资源插件(maven-resources-plugin):处理项目资源文件,如复制...

Global site tag (gtag.js) - Google Analytics