如何通过Gradle Kotlin将build/schema目录文件打包进Jar?
将build/schema目录下的文件打包进Jar包(Gradle Kotlin脚本实现)
在Gradle Kotlin脚本中,你可以通过配置Jar任务(或Spring Boot项目的bootJar任务)来添加额外目录的文件到最终生成的Jar包中,具体实现方式如下:
基础配置(通用Java/Kotlin项目)
直接修改build.gradle.kts,为所有Jar类型任务添加源目录:
tasks.withType<Jar> { // 将build/schema下的所有文件直接放到Jar包的根目录 from("build/schema") // 如果你希望把这些文件放到Jar内的指定子目录(比如schema/),可以改用下面的写法: // from("build/schema") { into("schema") } }
精确过滤文件
如果只需要包含特定类型的文件,或者排除某些文件,可以添加include/exclude规则:
tasks.withType<Jar> { from("build/schema") { // 仅包含.json和.sql后缀的文件 include("**/*.json", "**/*.sql") // 排除临时文件 exclude("**/*.tmp") // 指定Jar内的目标路径为internal/schema into("internal/schema") } }
Spring Boot项目适配
如果是Spring Boot项目,默认使用bootJar任务生成可执行Jar,配置方式类似,但通常需要将文件放到BOOT-INF/classes目录下才能被项目读取:
tasks.bootJar { from("build/schema") { into("BOOT-INF/classes/schema") } }
配置完成后,执行./gradlew jar(普通项目)或./gradlew bootJar(Spring Boot项目),生成的Jar包就会包含build/schema目录下指定的文件了。
内容的提问来源于stack exchange,提问作者Nitika
相关产品推荐
相关产品推荐

