2

使用常规 gradle,我会像这样配置一个主类:

bootRepackage {
    mainClass = 'demo.Application'
}

使用 gradle-script-kotlin,这不起作用。
我想我需要以某种方式使用Project.configure内联函数,但我尝试了一些不同的东西,但我无法让它工作。

4

1 回答 1

2

更新 - 2017 年 9 月 8 日

在较新版本的 Kotlin 支持中,您还有其他一些更惯用的方法来完成此操作:

tasks {
  "bootRepackage"(Repackage::class) {
    mainClass = "demo.Application"
  }
}

并且:

val bootRepackage by tasks.getting(Repackage::class) {
  mainClass = "demo.Application"
}

我确信该任务会在新版本的 Spring Boot 中发生变化。


bootRepackage是类型的任务org.springframework.boot.gradle.repackage.RepackageTask。使用0.4.1时,没有可用的扩展方法使此配置显而易见。您将不得不执行以下操作:

import org.springframework.boot.gradle.repackage.RepackageTask

(tasks.getByName("bootRepackage") as RepackageTask).apply {
  mainClass = "demo.Application"
}

配置的相关未解决问题Task

于 2016-12-10T16:11:41.807 回答