Springboot打包jar如何分离lib和resources
小编这次要给大家分享的是Spring boot打包jar如何分离lib和resources,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
创新互联从2013年创立,先为定结等服务建站,定结等地企业,进行企业商务咨询服务。为定结企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
为什么要配置、依赖文件分离:
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}
看完这篇关于Spring boot打包jar如何分离lib和resources的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
本文标题:Springboot打包jar如何分离lib和resources
文章地址:http://pwwzsj.com/article/gdoopp.html