maven 常用插件汇总

maven 常用插件汇总

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常用插件

博客分类: Maven
maven
Maven常用插件

1) 通用
Xml代码   收藏代码
  1. <plugin>  
  2.     <groupId>org.apache.maven.pluginsgroupId>  
  3.     <artifactId>maven-compiler-pluginartifactId>  
  4.     <version>2.3.2version>  
  5.     <configuration>  
  6.         <source>1.6source>  
  7.         <target>1.6target>  
  8.         <encoding>UTF-8encoding>  
  9.     configuration>  
  10. plugin>  
  11. <plugin>  
  12.     <groupId>org.apache.maven.pluginsgroupId>  
  13.     <artifactId>maven-resources-pluginartifactId>  
  14.     <version>2.5version>  
  15.     <configuration>  
  16.         <encoding>UTF-8encoding>  
  17.     configuration>  
  18. plugin>  
  19. <plugin>  
  20.     <groupId>org.apache.maven.pluginsgroupId>  
  21.     <artifactId>maven-surefire-pluginartifactId>  
  22.     <version>2.9version>  
  23.     <configuration>  
  24.         <skipTests>trueskipTests>  
  25.         <testFailureIgnore>flasetestFailureIgnore>  
  26.     configuration>  
  27. plugin>  
  28. <plugin>  
  29.     <groupId>org.apache.maven.pluginsgroupId>  
  30.     <artifactId>maven-dependency-pluginartifactId>  
  31.     <version>2.3version>  
  32.     <configuration>  
  33.         <outputDirectory>dependenciesoutputDirectory>  
  34.     configuration>  
  35. plugin>  

	org.apache.maven.plugins
	maven-compiler-plugin
	2.3.2
	
        1.6
	    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) 打包
Xml代码   收藏代码
  1.   
  2. <plugin>  
  3.     <artifactId>maven-war-pluginartifactId>  
  4.     <version>2.1.1version>  
  5.     <configuration>  
  6.         <packagingExcludes>WEB-INF/web.xmlpackagingExcludes>  
  7.         <webXml>WebContent/WEB-INF/web.xmlwebXml>  
  8.         <outputDirectory>targetoutputDirectory>  
  9.         <warName>clientwarName>  
  10.         <warSourceDirectory>WebContentwarSourceDirectory>  
  11.     configuration>  
  12. plugin>  
  13.   
  14. <plugin>  
  15.     <groupId>org.apache.maven.pluginsgroupId>  
  16.     <artifactId>maven-jar-pluginartifactId>  
  17.     <version>2.3.2version>  
  18.     <configuration>  
  19.         <excludes>  
  20.             <exclude>**/impl/*.classexclude>  
  21.         excludes>  
  22.     configuration>  
  23. plugin>  
  24.   
  25. <plugin>  
  26.     <groupId>org.apache.maven.pluginsgroupId>  
  27.     <artifactId>maven-source-pluginartifactId>  
  28.     <version>2.1.2version>  
  29.     <configuration>  
  30.         <excludes>  
  31.             <exclude>**/impl/*.javaexclude>  
  32.         excludes>  
  33.     configuration>  
  34. plugin>  
  35.   
  36. <plugin>  
  37.     <groupId>org.apache.maven.pluginsgroupId>  
  38.     <artifactId>maven-ejb-pluginartifactId>  
  39.     <version>2.3version>  
  40.     <configuration>  
  41.         <ejbVersion>3.0ejbVersion>  
  42.     configuration>  
  43. 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) 部署
Xml代码   收藏代码
  1.   
  2. <plugin>  
  3.     <groupId>org.codehaus.mojogroupId>  
  4.     <artifactId>jboss-maven-pluginartifactId>  
  5.     <version>1.5.0version>  
  6.     <configuration>  
  7.         <jbossHome>D:\apps\jboss-5.1.0.GAjbossHome>  
  8.         <serverName>defaultserverName>  
  9.         <fileName>target/${project.artifactId}-${project.version}.jarfileName>  
  10.     configuration>  
  11.     <executions>  
  12.         <execution>  
  13.             <id>redeployid>  
  14.             <phase>installphase>  
  15.             <goals>  
  16.                 <goal>hard-undeploygoal>  
  17.                 <goal>hard-deploygoal>  
  18.             goals>  
  19.         execution>  
  20.         <execution>  
  21.             <id>undeployid>  
  22.             <phase>cleanphase>  
  23.             <goals>  
  24.                 <goal>hard-undeploygoal>  
  25.             goals>  
  26.         execution>  
  27.     executions>  
  28. 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
Xml代码   收藏代码
  1. <plugin>  
  2.     <groupId>org.mortbay.jettygroupId>  
  3.     <artifactId>maven-jetty-pluginartifactId>  
  4.     <version>6.1.10version>  
  5.     <configuration>  
  6.         <scanIntervalSeconds>10scanIntervalSeconds>  
  7.         <stopKey>foostopKey>  
  8.         <stopPort>9999stopPort>  
  9.     configuration>  
  10.     <executions>  
  11.         <execution>  
  12.             <id>start-jettyid>  
  13.             <phase>pre-integration-testphase>  
  14.             <goals>  
  15.                 <goal>rungoal>  
  16.             goals>  
  17.             <configuration>  
  18.                 <scanIntervalSeconds>0scanIntervalSeconds>  
  19.                 <daemon>truedaemon>  
  20.             configuration>  
  21.         execution>  
  22.         <execution>  
  23.             <id>stop-jettyid>  
  24.             <phase>post-integration-testphase>  
  25.             <goals>  
  26.                 <goal>stopgoal>  
  27.             goals>  
  28.         execution>  
  29.     executions>  
  30. 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编码,也会出问题

      

            

              org.apache.maven.plugins 

              maven-compiler-plugin 

               

                  1.6 

                  1.6 

                  UTF8

               

          

     

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

           org.apache.maven.plugins

           maven-war-plugin

           2.1-beta-1

          

              true

          

   

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

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

           org.apache.maven.plugins

           maven-surefire-plugin

          

              -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m

             

                  **/TestConstants.java

             

              always

          

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

       **/TestConstants.java

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

always

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。

always

methods

4

 4 .Resource插件

    

       ${user.home}/asssd.properties

      

           src/main/resources

           true

          

              **/*

          

      

      

           src/main/java

          

              **.xml

          

      

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

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

    

       ${user.home}/antx.properties

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

true

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插件中添加参数:true

org.apache.maven.plugins

maven-surefire-plugin

true

true

posted on 2012-01-23 00:03  lexus 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lexus/archive/2012/01/23/2328877.html

你可能感兴趣的:(maven 常用插件汇总)