常用maven打包配置记录

个人博客原文地址:http://www.ltang.me/2016/03/10/maven_command_record/

 

  1. 打成jar包,并放入指定目录:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    
         
             
                 org.apache.maven.plugins
                 maven-jar-plugin
                 2.3.2
                 
                     ${project.build.directory}/${project.artifactId}/
                 
             
         
     
    
  1. 将依赖包拷贝入指定文件夹:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
     
            org.apache.maven.plugins
            maven-dependency-plugin
            
                
                    copy-dependencies
                    prepare-package
                    
                        copy-dependencies
                    
                    
                        ${project.build.directory}/${project.artifactId}/
                        false
                        false
                        true
                        *
                        isuwang-soa-core
                    
                
            
    
    

    这里表示要包括的包,表示排除的包,冲突的情况下以为准。

  2. 将资源文件移动到指定目录:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    
    isuwang-soa-container
    
        ${project.artifactId}
    
    
        
            
                true
                ${basedir}/src/main/command
                
                    startup.sh
                    shutdown.sh
                
                ${project.build.directory}/${devName}/bin
            
            
                true
                ${basedir}/src/main/resources
                
                    containers.xml
                    logback.xml
                    filters-server.xml
                
                ${project.build.directory}/${devName}/conf
            
        
    
    
  1. 创建空文件夹:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    
        org.apache.maven.plugins
        maven-antrun-plugin
        1.8
        
            
                create-empty-directory
                process-classes
                
                    run
                
                
                    
                        
                        
                    
                
            
        
    
    

    因为maven本身不具备创建空文件夹能力(打包的时候,如果是空文件夹会被忽略),所以要用这个ant插件。

  2. 使用profile配置不同条件下打包:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    
        
            default
            
                true
            
        
    
        
            dev
            
                false
            
    
            
            ...
            
        
    
    

    打包时clean install默认使用default,但如果用clean install -Pdev加入参数,就使用dev下的配置。

  1. 打包源文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
       
    	org.apache.maven.plugins
    	maven-source-plugin
    	2.4
    	
    		
    			attach-sources
    			verify
    			
    				jar-no-fork
    			
    		
    	
    
    
  2. 编译scala

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
      
    	net.alchim31.maven
    	scala-maven-plugin
    	3.2.0
    	
    		
    			scala-compile-first
    			process-resources
    			
    				add-source
    				compile
    			
    		
    		
    			scala-test-compile
    			process-test-resources
    			
    				testCompile
    			
    		
    	
    	
    		${scala.version}
    	
    
    

    不这样做install的时候,java代码可能提示找不到scala的包

  3. 指定多个源文件目录

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
      
    	org.codehaus.mojo
    	build-helper-maven-plugin
    	1.4
    	
    		
    			add-source
    			generate-sources
    			
    				add-source
    			
    			
    				
    					${basedir}/src/main/java
    					${basedir}/src/main/scala
    				
    			
    		
    		
    			add-test-source
    			generate-sources
    			
    				add-test-source
    			
    			
    				
    					src/test/java
    				
    			
    		
    	
    
    

    Maven默认只允许指定一个主Java代码目录和一个测试Java代码目录,虽然这其实是个应当尽量遵守的约定,但偶尔你还是会希望能够指定多个源码目录(例如为了应对遗留项目),build-helper-maven-plugin的add-source目标就是服务于这个目的,通常它被绑定到默认生命周期的generate-sources阶段以添加额外的源码目录。需要强调的是,这种做法还是不推荐的,因为它破坏了 Maven的约定,而且可能会遇到其他严格遵守约定的插件工具无法正确识别额外的源码目录。

  4. 将依赖打入jar包,并指明可执行入口类:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
      
    	maven-assembly-plugin
    	
    		
    			jar-with-dependencies
    		
    		
    			
    				true
    				
    				com.isuwang.soa.code.Scrooge
    			
    		
    	
    	
    		
    			make-assembly
    			package
    			
    				single
    			
    		
    	
    
    

你可能感兴趣的:(technology)