如何通过Gradle为Ktor应用指定自定义配置文件?
Ktor通过Gradle运行时指定自定义配置文件的正确方式
两种可行的指定方式:
直接传递应用命令行参数
Ktor原生支持-config参数指定配置文件,通过Gradle的--args参数将该参数传递给应用进程:./gradlew run --args="-config=path/to/your/custom.conf"传递JVM系统属性给应用
若想用-Dconfig的方式,需通过--jvm-args将系统属性传递给应用(而非Gradle自身):./gradlew run --jvm-args="-Dconfig=path/to/your/custom.conf"如果需要持久化该配置,可在
build.gradle.kts中添加:tasks.run { jvmArgs("-Dconfig=path/to/your/custom.conf") }
为什么之前的方式无效:
./gradlew run -config=...:Gradle会将-config视为自身的命令行参数,而非传递给Ktor应用,导致运行失败。./gradlew run -Dconfig=...:该系统属性仅作用于Gradle进程,默认不会传递给启动的Ktor应用,因此被忽略。
内容的提问来源于stack exchange,提问作者jlengrand
相关产品推荐
相关产品推荐

