Kotlin 如何使用自动重新加载?
尝试使用自动模块重新加载功能(如上所述),但遗憾的是,文档没有太大帮助 它说使用配置,但配置为空 我相信您可以将模块的“watch”列表传递到来自的Kotlin 如何使用自动重新加载?,kotlin,ktor,Kotlin,Ktor,尝试使用自动模块重新加载功能(如上所述),但遗憾的是,文档没有太大帮助 它说使用配置,但配置为空 我相信您可以将模块的“watch”列表传递到来自的embeddedServer()调用中,但当我这样做时,我会得到以下异常:模块函数作为lambda提供,无法为重载解除链接 因此,它不允许您将lambda作为应用程序模块传递,但我不确定在访问应用程序方法(例如路由())时如何避免这样做 最近有人能自动重新加载吗? 如果是,如何恢复?Lambda可能具有来自包含函数的捕获状态,因此无法重新加载–无法恢
embeddedServer()
调用中,但当我这样做时,我会得到以下异常:模块函数作为lambda提供,无法为重载解除链接
因此,它不允许您将lambda作为应用程序模块传递,但我不确定在访问应用程序
方法(例如路由()
)时如何避免这样做
最近有人能自动重新加载吗?
如果是,如何恢复?Lambda可能具有来自包含函数的捕获状态,因此无法重新加载–无法恢复捕获状态。您必须将应用程序提取到单独的函数中,如下所示:
fun Application.module() {
install(CallLogging)
install(Routing) {
get("/") {
call.respondText("""Hello, world!<br><a href="/bye">Say bye?</a>""", ContentType.Text.Html)
}
…
}
}
embeddedServer(Jetty, watchPaths = listOf("embedded"), module = Application::module).start()