自定义构建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>
分享到:
相关推荐
面是执行 mvn clean install 产生的执行日志,通过日志可以看到每个步骤都显示 plugin 名称,版本号,生命周期阶段,执行操作等。 maven-clean-plugin:2.5:clean (default-clean) maven-resources-plugin:2.6:...
mvn clean install compile -Dmaven.test.skip=true -fn mvn eclipse:clean mvn eclipse:eclipse mvn eclipse:myeclipse mvn clean install compile -Dmaven.test.skip=true -fn mvn install compile -Dmaven.test....
一个统计代码行的maven插件(会统计配置的后缀类型,统计代码行数,并统计.java文件的 代码行数 注释行数 空白行数 .. 输出结果如) [INFO] \src\main\java总行数 : 6511 lines of code in 63 files [INFO] \src\test\...
入门pom.xml添加到pom.xml构建部分: <plugin><groupId>io.qameta.allure</groupId><artifactId>allure-maven</artifactId><version>2.9</version></plugin>mvn clean test -运行测试您可以使用以下命令之一生成报告...
Maven2的运行命令是mvn,使用mvn -h可以获得相关的帮助信息。常用情形: • 创建Maven项目:mvn archetype:create • 编译源代码:mvn compile • 编译测试代码:mvn test-compile • 运行测试:mvn test • ...
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook Maven在simple目录下创建的目录结构: simple/ Maven Archtype插件创建了一个与...
Jacoco Coverage Badge Maven插件 查阅Wiki了解更多信息: : 内容 产品特点 自动读取jacoco.csv报告并在本地生成报告 可以集成为构建过程的一部分 根据jacoco报告的覆盖率自动设置彩色徽章 可配置的徽章钥匙 从...
Pom:文件夹,jar和war文件,mavenProject:一个项目,可以放jar和war包,通过pom,一般新创建的maven Project是POM 3.4.创建一个Maven Model 最外面的项目是MavenProject,其它的全部是Maven Model 3.4.1.创建JAR 目录...
JMeter Maven插件 一个Maven插件,可以在您的构建中运行JMeter测试有关更改信息,请参见 。 上提供了配置插件所需的所有文档。 最新版本是3.3.0 ,它需要Maven> = 3.5.2,并且默认为Apache JMeter 5.4.1 。 此插件...
Maven代码覆盖插件Maven代码覆盖插件-类使用情况的字节码检查Maven配置用法: <profile> <id>default</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <skipTests>true...
Java-Maven-Junit-HelloWorld “你好,世界!” 使用Maven进行Java编写的... | 单元测试| 集成测试--- | --- | ---位于: src/test/java/*Test.java | src/test/java/*IT.java在Maven阶段执行: 测试验证由Maven插件
使用surefire Maven插件为Java类运行Junit测试 增量编译a-la-sbt-保存Java / scala文件将重新触发测试。 去做: 添加用于Scala的测试框架(ScalaTest,Specs2,ScalaCheck) 用法: 首先运行Maven目标以解决...
mvn clean test package verify java -cp target/skeleton-0.0.1-SNAPSHOT.jar de.dlqx.skeleton.App java -cp target/skeleton-0.0.1-SNAPSHOT-jar-with-dependencies.jar de.dlqx.skeleton.App
一个Maven插件,用于基于.csproj或project.json文件构建dotnet项目。 此插件使您可以使用Maven的功能来驱动.NET核心版本。 产品特点 驱动dotnet和nuget命令行工具的调用,以构建,测试和部署.NET核心项目。 通过...
使用App Engine,Maven,Spring MVC和JPA。 需要 3.0或更高版本以及JDK 6+才能运行。 进行构建,运行 mvn package 构建将运行测试,但是要显式运行测试,可以使用测试目标 mvn test 要启动该应用,请使用此演示...
mvn test因为用到的两个插件不会自动执行,所以指定了插件执行所在的阶段为test,故maven插件目标包含test环节的命令都可以执行。执行完毕后,将在target/asciidoc下会看到生成的文档。注意事项若你设计的
使用Maven的Scala的Hello-world...它利用了maven插件 (用于编译和运行)和 (用于运行单元测试) 编译中 可以使用标准命令mvn compile 跑步 要运行该应用程序,请键入mvn scala:run 要运行单元测试,请键入mvn test
appium-maven-plugin 用于从Maven管理服务器的插件... 使用已经启动的Appium和连接到ADB的默认设备: $ mvn clean verify -Pintegration-test 使用安装在默认位置($ {user.home} / node_modules / appium)和连接到A
parser_hands_on_kansai这是用于的...从搜索字段中检查“ Maven集成”,然后单击[确定]关闭重新启动IntelliJ IDE 运行行家右键点击项目使用终端时附带mvn命令(Maven) $ mvn compile # コンパイル$ mvn test # テスト
Maven故障安全插件已用于创建ID为“ selenium-tests”的配置文件。 默认情况下,它是活动的,但是如果您想执行构建而不运行Selenium测试,则可以使用以下命令禁用它: mvn clean verify -P-selenium-tests 默认...