よく使用されるmavenパッケージ配置記録

7439 ワード

個人ブログの原文の住所:http://www.ltang.me/2016/03/10/maven_command_レコード/
 
  • は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
    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
                    
                
            
    
    
    ここでは含めるべきパケットを表し、は排除されたパケットを表し、衝突の場合はに準ずる。
  • は、リソースファイルを指定ディレクトリに移動します。
    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
    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プラグインを使います。
  • は、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
    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
    			
    		
    	
    
    
  • コンパイル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}
    	
    
    
    このようにしないと、javaコードは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
    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の約束を破っているため、他の厳密に約束を守るプラグインツールに出会うかもしれません。追加のソースディレクトリを正しく識別することができません。
  • は、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