如何在Gradle的bootRun任务中向Kotlin Spring Boot应用传递命令行参数?
如何给Gradle bootRun传递命令行参数到你的Kotlin Spring Boot应用
我来帮你搞定这个问题!当你用./gradlew bootRun运行Spring Boot应用时,传递命令行参数有两种实用的方式,结合你的代码详细说明如下:
方式一:命令行直接通过--args传递
这是Gradle官方推荐的最直接的方式,用法很简单:在bootRun命令后加上--args,把要传递的参数放在引号中(多参数或带空格时必须加引号)。
比如你的代码里要打印第一个输入参数,执行这条命令就行:
./gradlew bootRun --args="hello-spring"
运行后你的run方法里的args[0]就会输出hello-spring。如果要传多个参数,用空格分隔即可:
./gradlew bootRun --args="param1 param2"
这时args[0]是param1,args[1]是param2。
方式二:在Gradle构建脚本中预先配置参数
如果你不想每次都在命令行输入参数,也可以在build.gradle.kts(或build.gradle)里给bootRun任务预设参数。比如在build.gradle.kts中添加:
tasks.bootRun { args = listOf("pre-set-argument") }
这样每次执行./gradlew bootRun时,都会自动把pre-set-argument作为参数传递给你的应用。需要注意的是,如果同时在命令行用--args传参,命令行的参数会覆盖脚本里预设的参数哦。
另外,你的Kotlin代码已经正确实现了CommandLineRunner的run方法,只要参数传递正确,就能正常获取到args数组里的值啦。
内容的提问来源于stack exchange,提问作者ttt
相关产品推荐
相关产品推荐

