spring - 带命令行参数的Kotlin Gradle Spring bootRun任务

标签 spring spring-boot gradle kotlin

我有一个带有命令行运行程序的Kotlin Spring启动应用程序,如下所示。

@SpringBootApplication
class MySpringApplication : CommandLineRunner {
  override fun run(vararg args: String?) {
    println(args[0])
  }

}

fun main(args: Array<String>) {
  val app = SpringApplication(MySpringApplication::class.java)
  app.setBannerMode(Banner.Mode.OFF)
  app.run(*args)
}

我想知道在使用gradle命令./gradlew bootRun时如何传递命令行args吗?

最佳答案

实际上,您将需要修改build.gradle脚本,以手动将命令行参数传递到bootRun任务中。

在您的主要bootRun脚本中查找或创建build.gradle配置,并将系统属性传递到bootRun中,如下所示:

bootRun {
  systemProperties = System.properties
}

现在,您可以使用命令行参数启动应用程序,该参数将传递给您的应用程序:
./gradlew -DsomeProperty=true -q bootRun

关于spring - 带命令行参数的Kotlin Gradle Spring bootRun任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48444094/

相关文章:

java - 如何捕捉,为什么请求没有在 Spring Web 中映射?

java - @Autowired 给出空指针异常

gradle - 运行另一个任务时跳过一个任务

java - ClassNotFoundException : org. hibernate.service.jndi.JndiException

Java 动态 bean/用户之间共享

java - 如何模拟离线 Spring Boot 应用程序

java - 用于构建 'debug' 和 'release' JAR 文件的惯用 Gradle 脚本

spring - 使用 HttpEntity<List> 在 Spring RestTemplate 中删除

java - Spring 启动 : Change property placeholder signifier

java - 刷新gradle项目时IntellIj 2018.3 java.lang.AssertionError