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

网友投稿 948 2022-10-29

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

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

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

写在前面的

当我们使用spring boot写项目时,一般都会遇到一个问题,那就是spring boot打包时,会将自己写的代码和项目的所有依赖文件打成一个可执行的jar包。

通常我们的项目都是运行在服务器上的,当项目更新时,每次都要向服务器上传这个包。如果项目的依赖包很多,那么这个文件就会非常大。

大文件上传不仅浪费带宽,有时候网络不稳定,传输一半断网,又要重新上传,非常麻烦。

默认的maven配置

org.springframework.boot

spring-boot-maven-plugin

如果能将项目外部依赖和自己的代码包分开打包,当修改项目后,只需要再次覆盖修改后的包,那岂不是美滋滋?

解决方案

使用maven的assembly打包插件

assembly配置

在项目中创建一个文件,我放在src/main/assembly/assembly.xml中,大家可以根据喜好自己创建。

assembly中的具体配置

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/pluhttp://gins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

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}

nvOdJuYVzz *.jar

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/pluhttp://gins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

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}

nvOdJuYVzz *.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配置文件

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linker 一个用 Kotlin 写的轻量级 URL 路由器框架
下一篇:Light7一个轻量级的易用的移动端 UI 框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~