如何配置kotlin dsl使springboot多个模块打包成可执行jar文件。
刚开始用kotlin dsl,查了很多资料都没有成功。
我尝试了很多方法来构建不包含我自己代码的文件。
这是一些代码
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("application")
id("org.springframework.boot") version "2.5.2"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
kotlin("jvm") version "1.5.20"
kotlin("kapt") version "1.5.20"
kotlin("plugin.spring") version "1.5.20"
id("com.github.johnrengelman.shadow") version "5.1.0"
}
group = "com.example"
version = "1.0-snAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "1.8"
}
}
tasks.getByName<KotlinCompile>("compileKotlin") {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "1.8"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
val fatJar = task("fatJar",type = Jar::class) {
manifest {
attributes["Main-Class"] = "com.example.MainApplicationKt"
}
from(configurations.runtimeclasspath.get().map({ if (it.isDirectory) it else zipTree(it) }))
// with(jar.get() as CopySpec)
with(tasks.jar.get() as CopySpec)
}
tasks {
"build" {
dependsOn(fatJar)
}
}