Filter

  POM中可以配置一些properties,这些属性一般而言实在各种pom中使用,但也可以在一些配置文件中使用,例如

### pom文件配置

	com.mysql.jdbc.Driver
	jdbc:mysql://localhost:3306/database?autoReconnect=true
	
	myusername
	mypassword



	
		qa
		
			com.mysql.jdbc.Driver
			jdbc:mysql://qadb01:3306/database?autoReconnect=true
			qauser
			qapassword
		
	

	
		production
		
			com.mysql.jdbc.Driver
			jdbc:mysql://pdb01:3306/database?autoReconnect=true
			produser
			prodpassword
		
	


## properties
driverClassName=${database.driver}
url=${database.url}
username=${database.username}
password=${database.password}

  通过如上配置,默认情况下直接使用外层的properties属性,但也可以通过制定来更改为我们需要的配置

mvn clean install -Pqa/-Pproduction

通过编译之后,可以看到我们设置的变量替换为pom文件中的变量。

各种plugin

maven-antrun-plugin

maven-antrun-plugin,主要是用来从Maven内运行Ant任务的功能,甚至可以将Ant脚本嵌入到POM。这个插件不是提供污染POM的手段意图,因此它鼓励所有Ant任务移动到build.xml文件并使用Ant的POM调用它。这个插件的主要目的之一是方便从Ant基础项目迁移到Maven。


	maven-antrun-plugin
	
		
			validate
			
				run
			
			
				
					${PATH}=${env.PATH}
					User's Home Directory: ${user.home}
					Project's Base Director: ${basedir}
				
			
		
	

maven-clean-plugin

maven-clean-plugin最常用的maven插件,主要用于清理target文件等内容。

maven-resources-plugin

maven-resources-plugin用于替换资源文件中的占位符。

maven-install-plugin

maven-install-plugin用于安装jar包,将生成的jar文件复制到maven的本地仓库中。

maven-compiler-plugin

maven-compiler-plugin编译Java源码,一般只需要设置编译的JDK版本即可。


    org.apache.maven.plugins
    maven-compiler-plugin
    3.6.0
    
        1.8
        1.8
    

maven-dependency-plugin

maven-dependency-plugin用于将依赖的jar包复制到指定的文件夹里去。


    org.apache.maven.plugins
    maven-dependency-plugin
    2.10
    
        
            copy-dependencies
            package
            
                copy-dependencies
            
            
                ${project.build.directory}/lib
            
        
    

maven-jar-plugin

maven-jar-plugin的主要作用是打包成可运行的jar,打包时制定manifest参数。


    org.apache.maven.plugins
    maven-jar-plugin
    2.4
    
        
            
                true
                /data/lib
                com.zhang.spring.App
            
        
    

maven-shade-plugin

maven-shade-plugin
用于把多个jar包,打成1个jar包。一般Java项目都会依赖其他第三方jar包,最终打包时,希望把其他jar包包含在一个jar包里


    org.apache.maven.plugins
    maven-shade-plugin
    2.4.3
    
        
            package
            
                shade
            
            
                
                    "org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        
                            com.meiyou.topword.App
                            ${maven.compile.source}
                            ${maven.compile.target}
                        
                    
                
            
        
    

maven-surefire-plugin

maven-surefire-plugin主要使用来测试Maven项目的源码,能够兼容Junit3、Junit4以及TestNG等框架。默认情况下,maven-surefire-plugin的Test目标会自动测试源码路径下所有符合一组命名模式的测试类。

  
    org.apache.maven.plugins  
    maven-surefire-plugin  
    2.5  
      
          
            **/*Tests.java  
          
          
            **/*ServiceTest.java  
            **/TempDaoTest.java  
          
      

groovy-maven-plugin

groovy-maven-plugin主要是用于Maven编译Groovy源代码。

jruby-maven-plugin

jruby-maven-plugin主要用于ruby的源代码编译。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

DataX之SplitPK原理 上一篇
分布式Java应用读书笔记 下一篇