栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring boot打包jar分离lib和resources方法实例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring boot打包jar分离lib和resources方法实例

为什么要配置、依赖文件分离:

1.在传统jar包中,所有文件都打包到一个jar包中,jar非常臃肿,在进行服务更新部署时非常不便,而且传输不稳定时导致传输失败。如果过实行文件分离、在依赖不改变的情况下,仅仅上传更新后的 编译文件是非常方便的。

如果要修改一些配置文件:properties、xml,静态文件等可以直接在服务器上编辑。

那么怎么实行配置、依赖文件分离呢?

插件介绍

  • maven-jar-plugin 这个插件式专门用来打包用的,可以配置需要打包进去的文件,程序的入口类等。
  • maven-resources-plugin 这个插件是用来拷贝资源文件的。
  • maven-maven-dependency-plugin 这个插件是用来拷贝依赖库的。
  • maven-assembly-plugin 可以说包含了以上插件的功能,但是可以做到更精细的控制。
  • spring-boot-maven-plugin 这个不用说,springboot 项目最重要的插件,整个项目的打包处理过程还是要依附于它。

打包成可执行jar,不仅仅局限SpringBoot项目(主入口函数存在)

maven-jar-plugin 插件打包jar

在pom文件中配置,但是这样 依赖的jar并不会打进来(后面会有解决方法),适用不需要依赖文件的项目。

      
 org.apache.maven.plugins
 maven-jar-plugin
 2.3


 
   
     


true


xxx.xxx.Main

     
   
   
   ${project.build.directory}

 
       

maven-assembly-plugin 插件打包jar

      
 maven-assembly-plugin
 

   
   false
   
     
     jar-with-dependencies
   
   
     

xxx.xxx.Main
     
   
 
 
   
     make-assembly
     
     package
     

assembly
     
   
 
      

打包SpringBoot 项目

方案一、


    
    
      org.apache.maven.plugins
      maven-jar-plugin
      
 
 
   
     true
     
     lib/
     
     false
     
     xxx.xxx.Application
   
   
     
     /resources
   
 
 ${project.build.directory}/dis
      
    

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

     
   
 
      

      
      
 maven-resources-plugin
 
   
     copy-resources
     package
     
copy-resources
     
     

  
    src/main/resources
  

${project.build.directory}/dis/resources
     
   
 
      

      
      
 org.springframework.boot
 spring-boot-maven-plugin
 
  
   ZIP
   
   true
 
 
 
   
     
repackage
     
   
 
      

    
  

方案二

这里依赖assembly.xml 描述文件

 
   
     maven-assembly-plugin
     
false

  assembly.xml

${project.build.directory}/dist/
     
     

  make-assembly
  package
  
    single
  

     
   

   
   
     org.apache.maven.plugins
     maven-jar-plugin
     

  
    xxx.xxx.Application
    
    lib/
    true
  
  
    resources/
  

     
   
 

assembly.xml



  distribution

  
  
    zip
  

  false

  
  
    
      src/main/resources/
      /resources
    
  
  

  
    
      
      /lib
      runtime
      
 ${project.groupId}:${project.artifactId}
      
    
    
      
      /
      
 ${project.groupId}:${project.artifactId}
      
    
  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/134060.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号