Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 如何使用自动重新加载?_Kotlin_Ktor - Fatal编程技术网

Kotlin 如何使用自动重新加载?

Kotlin 如何使用自动重新加载?,kotlin,ktor,Kotlin,Ktor,尝试使用自动模块重新加载功能(如上所述),但遗憾的是,文档没有太大帮助 它说使用配置,但配置为空 我相信您可以将模块的“watch”列表传递到来自的embeddedServer()调用中,但当我这样做时,我会得到以下异常:模块函数作为lambda提供,无法为重载解除链接 因此,它不允许您将lambda作为应用程序模块传递,但我不确定在访问应用程序方法(例如路由())时如何避免这样做 最近有人能自动重新加载吗? 如果是,如何恢复?Lambda可能具有来自包含函数的捕获状态,因此无法重新加载–无法恢

尝试使用自动模块重新加载功能(如上所述),但遗憾的是,文档没有太大帮助

它说使用配置,但配置为空

我相信您可以将模块的“watch”列表传递到来自的
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()