maven打包 lib和工程分离

一、maven打包并运行jar包(适合jar包很大的场合)

1、导出所有依赖的lib包

maven插件如下

 
    org.apache.maven.plugins
    maven-dependency-plugin
    3.0.1
    
      
        copy-dependencies
        package
        
          copy-dependencies
        
        
          lib
          true
        
      
    
  
2、将工程打包(包含main-class 但不包括依赖的jar包)

通过maven-jar-plugin形式 插件如下


      org.apache.maven.plugins
      maven-jar-plugin
      2.6
      
        
          
             true
             
             lib/
             com.demo.other.Test1
          
          
          
             lib/*
          
        
      
    

3、执行jar包

执行jar包有两种方式(第一种最常见)

·1、在MANIFEST.MF 的class-path贴上所有的jar包路径 这个可以通过maven插件来执行,如上图的标记的
maven打包 lib和工程分离_第1张图片

将依赖的lib包放到其同级目录下,就可以找到路径

2、通过命令方式

导出依赖包后,可以通过-Djava.ext.dirs 指定依赖的目录
通过
java -Djava.ext.dirs="lib1:lib2" -jar myjar.jar MainClass 来运行jar包
(多个lib目录用:分隔)

参考资料:https://blog.csdn.net/scugxl/article/details/43240991
https://blog.csdn.net/u014695188/article/details/53128095
https://blog.csdn.net/wzygis/article/details/48750929
https://blog.csdn.net/yyoc97/article/details/77689531
http://codepub.cn/2017/06/13/Maven-introduces-local-dependency-jar-to-executable-jar-packages/

你可能感兴趣的:(maven打包 lib和工程分离)