【发布时间】:2019-08-25 13:08:07
【问题描述】:
我有一个使用 .kts(Kotlin 风格)Gradle 构建文件的 Gradle/Spring Boot 构建。 (最后一部分可能无关紧要。)
我的 Spring Boot 应用程序有两个不同的类可以用来启动它,一个用于“客户端”模式,一个用于“服务器”模式。
我有一个 bootJar 任务,看起来像:
tasks.bootJar {
mainClassName = "com.me.ClientApplication"
}
所以默认情况下,当我运行./gradlew build bootJar 时,我会得到一个客户端版本的JAR,当使用java -jar theJar.jar 运行时,它会执行ClientApplication 类。
但是,我还想发布一个 第二个 JAR,它具有不同的 mainClassName 并运行 com.me.ServerApplication。
我应该如何处理这个问题?我对 Gradle 还很陌生 - 我应该将 mainClassName 提供给 ./gradlew 命令来覆盖它吗?或者我可以定义单独的任务,例如 clientBootJar 和 serverBootJar,它们将产生单独的工件?
【问题讨论】:
标签: spring-boot gradle kotlin