springboot打包实现项目JAR包和依赖JAR包分离

目录

  • 写在前面的
    • 默认的maven配置
  • 解决方案
    • assembly配置
    • maven中的配置
    • 最终打包后的效果

写在前面的 当我们使用spring boot写项目时,一般都会遇到一个问题,那就是spring boot打包时,会将自己写的代码和项目的所有依赖文件打成一个可执行的jar包。
通常我们的项目都是运行在服务器上的,当项目更新时,每次都要向服务器上传这个包。如果项目的依赖包很多,那么这个文件就会非常大。
大文件上传不仅浪费带宽,有时候网络不稳定,传输一半断网,又要重新上传,非常麻烦。
springboot打包实现项目JAR包和依赖JAR包分离
文章图片


默认的maven配置
org.springframework.bootspring-boot-maven-plugin

如果能将项目外部依赖和自己的代码包分开打包,当修改项目后,只需要再次覆盖修改后的包,那岂不是美滋滋?
【springboot打包实现项目JAR包和依赖JAR包分离】
解决方案 使用maven的assembly打包插件

assembly配置
在项目中创建一个文件,我放在src/main/assembly/assembly.xml中,大家可以根据喜好自己创建。
springboot打包实现项目JAR包和依赖JAR包分离
文章图片

assembly中的具体配置
binzipfalsefalselibfalse${project.basedir}README*LICENSE*NOTICE*${project.basedir}/src/main/resourcesconfig${project.basedir}/src/main/binbin${project.build.directory}*.jar


maven中的配置
org.apache.maven.pluginsmaven-jar-pluginfalsetruelib/com.zbrx.speed.Apporg.apache.maven.pluginsmaven-assembly-pluginsrc/main/assembly/assembly.xmlmake-assemblypackagesingleorg.apache.maven.pluginsmaven-surefire-plugintrue


最终打包后的效果
springboot打包实现项目JAR包和依赖JAR包分离
文章图片

压缩包里的文件内容
springboot打包实现项目JAR包和依赖JAR包分离
文章图片

lib中的文件
springboot打包实现项目JAR包和依赖JAR包分离
文章图片

config配置文件
springboot打包实现项目JAR包和依赖JAR包分离
文章图片

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读