boot lib分离 spring_spring boot + gradle打包bootJar分离lib

以前项目打包一直是用的maven,最近新开一个项目,使用的是spring boot 2.11 + gradle 4.10.3,在打包的时候分离lib折腾了好几天,网上找了很多方法都不成功,老是卡在configurations.compile这里,总是获取不到正确的jar包路径。最后上google终于找到解决办法,总结整理后简单又好用,特此记录如下:

// 清除现有的lib目录

task clearJar(type: Delete) {

delete "$buildDir\\libs\\lib"

}

// 将依赖包复制到lib目录

task copyJar(type: Copy, dependsOn: 'clearJar') {

from configurations.compileClasspath

into "$buildDir\\libs\\lib"

}

bootJar {

// 例外所有的jar

excludes = ["*.jar"]

// lib目录的清除和复制任务

dependsOn clearJar

dependsOn copyJar

// 指定依赖包的路径

manifest {

attributes "Manifest-Version": 1.0,

'Class-Path': configurations.compileClasspath.files.collect { "lib/$it.name" }.join(' ')

}

}

运行的时候也不需要指定java.ext.dir或loader.path了,直接-jar运行就可以了。

java -jar test-0.0.1-SNAPSHOT.jar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值