在Ktor 0.9.3中导入另一个配置文件会引发异常

时间:2018-08-11 10:47:51

标签: kotlin typesafe-config ktor

在Ktor 0.9.3应用程序中,我想针对不同的环境使用不同的.conf文件,在其中我扩展了一个主.conf文件。但是,我收到以下异常:

Exception in thread "main" com.typesafe.config.ConfigException$NotResolved: called valueType() on value with unresolved substitutions, need to Config#resolve() first, see API docs
    at com.typesafe.config.impl.ConfigDelayedMerge.valueType(ConfigDelayedMerge.java:46)
    at com.typesafe.config.impl.SimpleConfig.hasPath(SimpleConfig.java:96)
    at io.ktor.config.HoconApplicationConfigKt.tryGetString(HoconApplicationConfig.kt:33)
    at io.ktor.server.engine.CommandLineKt$commandLineEnvironment$environment$1.invoke(CommandLine.kt:64)
    at io.ktor.server.engine.CommandLineKt$commandLineEnvironment$environment$1.invoke(CommandLine.kt)
    at io.ktor.server.engine.ApplicationEngineEnvironmentBuilder.build(ApplicationEngineEnvironment.kt:55)
    at io.ktor.server.engine.ApplicationEngineEnvironmentKt.applicationEngineEnvironment(ApplicationEngineEnvironment.kt:38)
    at io.ktor.server.engine.CommandLineKt.commandLineEnvironment(CommandLine.kt:50)
    at io.ktor.server.netty.DevelopmentEngine.main(DevelopmentEngine.kt:13)
    at ApplicationKt.main(application.kt:24)

这是我的application.conf文件:

ktor {
    deployment {
        port = 8080
        port = ${?PORT}
        watch = [ website ]
    }
    application {
        modules = [ ApplicationKt.module ]
    }
}

ui {
  hotreload {
    enabled = false
    path-prefix = "http://localhost:3000"
  }
}

还有一个我想扩展它的人:

include "application.conf"

ui.hotreload.enabled = true

任何想法出了什么问题以及如何解决?

1 个答案:

答案 0 :(得分:0)

根据我在Ktor's GitHub页面上打开的问题,这是一个已知错误,已经合并了PR fixing it,因此应在下一发行版中对其进行修复。实际上,它按版本0.9.4-alpha-2

的预期工作