将Maven项目打包成可执行jar文件(引用第三方jar)

http://blog.csdn.net/zhangdaiscott/article/details/6911640

方法一. mvn assembly 或 mvn package (一个jar包)

把依赖包和自己项目的文件打包如同一个jar包(这种方式对spring的项目不支持)

  
      
          
              maven-assembly-plugin
              
                  
                      
                          com.tang.CSVUtils
                      
                  
                  
                      
                          jar-with-dependencies
                      
                  
              
              
              
          
      
  
Eclipse 中 Run As--- Maven clean ---Maven assembly:assembly(或 Maven package)

Target目录生成如下文件:

其中,

testLog4j-0.1.jar 是不可直接运行的,因为没有带第三方包。

testLog4j-0.1-jar-with-dependencies.jar 就是带有第三方包的可执行 jar 包,

在命令行执行 java -jar testLog4j-0.1-jar-with-dependencies.jar 即可运行


方法二:mvn package(一个jar包和一个lib文件夹)


    
        
            org.apache.maven.plugins
            maven-jar-plugin
            2.4
            
                
                    
                        true
                        lib/
                        com.tang.CSVUtils
                    
                
            
        
        
            org.apache.maven.plugins
            maven-dependency-plugin
            
                
                    copy
                    package
                    
                        copy-dependencies
                    
                    
                        ${project.build.directory}/lib
                    
                
            
        
    
  

执行maven package 进行打包进入target目录。

其中lib就是第三方jar包的目录,在其他项目引入testLog4j-0.1.jar会自动找到并引入lib里面的包.

只需要拷贝这两个(lib和testLog4j-0.1.jar)即可放到其他地方用了。

在命令行执行:java -jar testLog4j-0.1.jar


方法三:mvn package(推荐)(一个zip包,里面有一个jar包,一个lib文件夹,和一个conf文件夹)

(1)conf/package.xml (conf 文件夹和pom.xml在同一级目录)
  
    bin  
      
      
        zip  
      
  
      
      
          
              
            false  
            lib  
            false  
          
      
  
      
          
          
            ${project.basedir}  
            /  
              
                README*  
                LICENSE*  
                NOTICE*  
              
          
          
          
          
            ${project.basedir}\conf  
            conf  
              
                *.xml  
                *.properties
                *.key 
              
          
          
          
          
            ${project.build.scriptSourceDirectory}  
              
              
                startup.*  
              
          
  
          
          
            ${project.build.directory}  
              
              
                *.jar  
              
          
      


(2)pom.xml
  
      
		
		      org.apache.maven.plugins
		      maven-compiler-plugin
		      3.1
		      
		          1.6
		          1.6
		          1.6
		      
		   
            
          
            org.apache.maven.plugins  
            maven-jar-plugin  
            2.4  
              
              
                  
                  
  
                      
                    false  
  
                      
                      
                    
                          
                        true  
                          
                        lib/  
                          
                        com.tang.your-Main-class  
                      
                  
                  
                  
                    ${project.basedir}/xml/*  
                  
              
          
  
          
          
            org.apache.maven.plugins  
            maven-assembly-plugin  
            2.4  
              
              
                  
                  
                    conf/package.xml  
                  
              
              
                  
                    make-assembly  
                    package  
                      
                        single  
                      
                  
              
           
        
    

mvn install后,此时会在target目录下生成一个zip文件,如:
 youArtifactId-0.0.1-bin.zip 解压后有:
conf 文件夹, lib文件夹,  youArtifactId-0.0.1-bin.jar





你可能感兴趣的:(Maven,Java)