这篇文章主要介绍了springboot打包实现项目JAR包和依赖JAR包分离,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
写在前面的
当我们使用spring boot写项目时,一般都会遇到一个问题,那就是spring boot打包时,会将自己写的代码和项目的所有依赖文件打成一个可执行的jar包。
通常我们的项目都是运行在服务器上的,当项目更新时,每次都要向服务器上传这个包。如果项目的依赖包很多,那么这个文件就会非常大。
大文件上传不仅浪费带宽,有时候网络不稳定,传输一半断网,又要重新上传,非常麻烦。
默认的maven配置
org.springframework.boot spring-boot-maven-plugin
如果能将项目外部依赖和自己的代码包分开打包,当修改项目后,只需要再次覆盖修改后的包,那岂不是美滋滋?
解决方案
使用maven的assembly打包插件
assembly配置
在项目中创建一个文件,我放在src/main/assembly/assembly.xml中,大家可以根据喜好自己创建。
assembly中的具体配置
bin zip false false lib false ${project.basedir} README* LICENSE* NOTICE* ${project.basedir}/src/main/resources config ${project.basedir}/src/main/bin bin ${project.build.directory} *.jar
maven中的配置
org.apache.maven.plugins maven-jar-plugin false true lib/ com.zbrx.speed.App org.apache.maven.plugins maven-assembly-plugin src/main/assembly/assembly.xml make-assembly package single org.apache.maven.plugins maven-surefire-plugin true
最终打包后的效果
压缩包里的文件内容
lib中的文件
config配置文件
以上为个人经验,希望能给大家一个参考,也希望大家多多支持0133技术站。
以上就是springboot打包实现项目JAR包和依赖JAR包分离的详细内容,更多请关注0133技术站其它相关文章!