SpringBoot + Gradle打包分离lib可执行jar
程序员文章站
2022-04-28 22:50:37
...
SpringBoot + Gradle打包分离lib可执行jar
最近新开一个项目,使用的是SpringBoot 2.14 + gradle 5.3,在打包的时候分离lib,网上找了很多方法都不成功,老是卡在configurations.compile这里,总是获取不到正确的jar包路径。最后上google终于找到解决办法,总结整理后简单又好用,特此记录如下:
// 清除现有的lib目录
task clearJar(type: Delete) {
delete "$buildDir\\libs\\lib"
}
// 将依赖包复制到lib目录
task copyJar(type: Copy, dependsOn: 'clearJar') {
from configurations.runtime
into "$buildDir\\libs\\lib"
}
bootJar {
archivesBaseName = "data-job-mgr-provider"
archiveVersion = ""
// 例外所有的jar和配置文件
excludes = ["*.jar", "application.yml"]
// lib目录的清除和复制任务
dependsOn clearJar
dependsOn copyJar
// 指定依赖包的路径
manifest {
attributes "Manifest-Version": 1.0,
'Class-Path': configurations.runtime.files.collect { "lib/$it.name" }.join(' ')
}
}
运行的时候也不需要指定java.ext.dir或loader.path了,直接-jar运行就可以了。
java -jar data-job-mgr-provider.jar --spring.config.location=[conf-path]/application.yml
上一篇: MyBatis常见的概念性面试题
下一篇: PHP常用函数总结
推荐阅读
-
如何将SpringBoot+Vue前后端分离项目一次打包为一个Jar包运行?
-
Springboot基于maven打包分离lib及resource
-
Gradle 打包可执行jar 的两种方法
-
gradle 打包可执行jar包
-
SpringBoot + Gradle打包分离lib可执行jar
-
Gradle打包SpringBoot项目成为可执行jar包
-
非springboot的maven项目打包可执行jar包
-
gradle打包springboot jar例子
-
SpringBoot+gradle项目中的两种jar包(依赖包和可运行包)及如何在Idea中打包
-
Gradle 如何打包 Spring Boot 可执行 JAR