微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

这篇文章主要介绍了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.pluginsmaven-jar-plugin2.3truexxx.xxx.Main${project.build.directory}

maven-assembly-plugin 插件打包jar

maven-assembly-pluginfalsejar-with-dependenciesxxx.xxx.Mainmake-assemblypackageassembly

打包SpringBoot 项目

方案一、

org.apache.maven.pluginsmaven-jar-plugintruelib/falsexxx.xxx.Application/resources${project.build.directory}/disorg.apache.maven.pluginsmaven-dependency-plugincopy-dependenciespackagecopy-dependencies ${project.build.directory}/dis/lib/ maven-resources-plugincopy-resourcespackagecopy-resourcessrc/main/resources${project.build.directory}/dis/resourcesorg.springframework.bootspring-boot-maven-pluginZIPtruerepackage

方案二

这里依赖assembly.xml 描述文件

maven-assembly-pluginfalseassembly.xml${project.build.directory}/dist/make-assemblypackagesingleorg.apache.maven.pluginsmaven-jar-pluginxxx.xxx.Applicationlib/trueresources/

assembly.xml

distributionzipfalsesrc/main/resources//resources/libruntime${project.groupId}:${project.artifactId}/${project.groupId}:${project.artifactId}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐