gradle - 如何使用 gradle-script-kotlin 配置 spring-boot 重新打包

标签 gradle kotlin spring-boot-gradle-plugin gradle-kotlin-dsl

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

bootRepackage {
    mainClass = 'demo.Application'
}

对于 gradle-script-kotlin,这不起作用。
我认为我需要以某种方式使用 Project.configure 内联函数,但我尝试了一些不同的方法,但未能使其工作。

最佳答案

更新 - 2017 年 9 月 8 日

在新版本的 Kotlin 支持中,您可以使用其他一些更惯用的方法来实现此目的:

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

还有:

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

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


bootRepackageorg.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 配置的相关未决问题:

关于gradle - 如何使用 gradle-script-kotlin 配置 spring-boot 重新打包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39630897/

相关文章:

gradle - Android Studio提示错误:任务 ':app:processDebugResources'执行失败

java - 如何从 CLI 将 Gradle 任务拆分为纯编译和纯执行任务?

Gradle 无法解析来自另一个模块的引用

java - 如何获得 Cucumber 特征的结果

kotlin - 如何在不删除整行的情况下仅从 dynamo Db 行中删除一个属性?

android - 如何在 lintOptions 中设置 severityOverrides?

Android 导航组件 - 向上导航打开相同的 fragment

spring-boot - 从子项目中提取插件重复项到root gradle配置

java - 通过命令行运行spring boot应用的非主类

gradle - BootJar + MavenJar。工件不是由这个构建产生的