http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin
http://www.infoq.com/cn/news/2011/04/xxb-maven-7-plugin
http://www.infoq.com/cn/news/2011/05/xxb-maven-8-plugin
http://yingzhuo.iteye.com/blog/1185371
Maven常用插件
博客分类: Maven1) 通用
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-compiler-pluginartifactId>
- <version>2.3.2version>
- <configuration>
- <source>1.6source>
- <target>1.6target>
- <encoding>UTF-8encoding>
- configuration>
- plugin>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-resources-pluginartifactId>
- <version>2.5version>
- <configuration>
- <encoding>UTF-8encoding>
- configuration>
- plugin>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-surefire-pluginartifactId>
- <version>2.9version>
- <configuration>
- <skipTests>trueskipTests>
- <testFailureIgnore>flasetestFailureIgnore>
- configuration>
- plugin>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-dependency-pluginartifactId>
- <version>2.3version>
- <configuration>
- <outputDirectory>dependenciesoutputDirectory>
- configuration>
- plugin>
org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.6 UTF-8 org.apache.maven.plugins maven-resources-plugin 2.5 UTF-8 org.apache.maven.plugins maven-surefire-plugin 2.9 true flase org.apache.maven.plugins maven-dependency-plugin 2.3 dependencies
2) 打包
- <plugin>
- <artifactId>maven-war-pluginartifactId>
- <version>2.1.1version>
- <configuration>
- <packagingExcludes>WEB-INF/web.xmlpackagingExcludes>
- <webXml>WebContent/WEB-INF/web.xmlwebXml>
- <outputDirectory>targetoutputDirectory>
- <warName>clientwarName>
- <warSourceDirectory>WebContentwarSourceDirectory>
- configuration>
- plugin>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-jar-pluginartifactId>
- <version>2.3.2version>
- <configuration>
- <excludes>
- <exclude>**/impl/*.classexclude>
- excludes>
- configuration>
- plugin>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-source-pluginartifactId>
- <version>2.1.2version>
- <configuration>
- <excludes>
- <exclude>**/impl/*.javaexclude>
- excludes>
- configuration>
- plugin>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-ejb-pluginartifactId>
- <version>2.3version>
- <configuration>
- <ejbVersion>3.0ejbVersion>
- configuration>
- plugin>
maven-war-plugin 2.1.1 WEB-INF/web.xml WebContent/WEB-INF/web.xml target client WebContent org.apache.maven.plugins maven-jar-plugin 2.3.2 **/impl/*.class org.apache.maven.plugins maven-source-plugin 2.1.2 **/impl/*.java org.apache.maven.plugins maven-ejb-plugin 2.3 3.0
3) 部署
- <plugin>
- <groupId>org.codehaus.mojogroupId>
- <artifactId>jboss-maven-pluginartifactId>
- <version>1.5.0version>
- <configuration>
- <jbossHome>D:\apps\jboss-5.1.0.GAjbossHome>
- <serverName>defaultserverName>
- <fileName>target/${project.artifactId}-${project.version}.jarfileName>
- configuration>
- <executions>
- <execution>
- <id>redeployid>
- <phase>installphase>
- <goals>
- <goal>hard-undeploygoal>
- <goal>hard-deploygoal>
- goals>
- execution>
- <execution>
- <id>undeployid>
- <phase>cleanphase>
- <goals>
- <goal>hard-undeploygoal>
- goals>
- execution>
- executions>
- plugin>
org.codehaus.mojo jboss-maven-plugin 1.5.0 D:\apps\jboss-5.1.0.GA default target/${project.artifactId}-${project.version}.jar redeploy install hard-undeploy hard-deploy undeploy clean hard-undeploy
4) Jetty
- <plugin>
- <groupId>org.mortbay.jettygroupId>
- <artifactId>maven-jetty-pluginartifactId>
- <version>6.1.10version>
- <configuration>
- <scanIntervalSeconds>10scanIntervalSeconds>
- <stopKey>foostopKey>
- <stopPort>9999stopPort>
- configuration>
- <executions>
- <execution>
- <id>start-jettyid>
- <phase>pre-integration-testphase>
- <goals>
- <goal>rungoal>
- goals>
- <configuration>
- <scanIntervalSeconds>0scanIntervalSeconds>
- <daemon>truedaemon>
- configuration>
- execution>
- <execution>
- <id>stop-jettyid>
- <phase>post-integration-testphase>
- <goals>
- <goal>stopgoal>
- goals>
- execution>
- executions>
- plugin>
org.mortbay.jetty maven-jetty-plugin 6.1.10 10 foo 9999 start-jetty pre-integration-test run 0 true stop-jetty post-integration-test stop
http://hanqunfeng.iteye.com/blog/1300098
http://qa.taobao.com/?p=13201
maven常用插件和mvn test命令
2011年6月30日 由 luanjia 留言 »
自定义构建Maven项目,需要包括额外的插件或者配置已存在的插件参数。
1. maven-compiler-plugin 指定JDK版本和编码方式
compiler插件能解决2个问题:
第一: maven 2.1默认使用jdk 1.3来编译,这个版本不支持注解,compiler插件可以指定JDK版本为1.6,解决这个问题。
第二:windows平台默认使用GBK编码,如果工程编码为utf8,也需要在compiler插件中指出,否则按GBK编码,也会出问题
2. maven-war-plugin 打war包在web子项目中指定
3. 单元测试插件 maven-surefire-plugin
运行测试脚本时不执行TestConstants.java文件
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。
4 .Resource插件
运行打包命令时,将src/main/resources中的所有文件和src/main/java目录下的所有.xml文件打到jar包中。
其中filters过滤器的作用是将所有引用文件中的${变量名称},替换成antx.properties文件中的变量值。要使用过滤器时,首先需要设置过滤器:
然后再启动过滤器, true需要过滤,false不需要过滤:
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插件中添加参数: