​​

简要介绍

在开发过程中,如果修改了文件,必须要重启容器,那效率就太低了. 本文介绍一下使用ktor时,如何实现热部署(Automatic Reloading),仅限类,不包括配置文件.

操作步骤
  1. application.conf配置(如果是通过代码配置的服务器启动参数,请参考附录中官方指导)
    在deployment节点下增加watch,里面放本工程目录名,ktor会根据这个目录名来过滤要热部署的类.
ktor {
deployment {
port = 8080
watch = [ ktorJwtDemo ]
}
}

  • 如果配置正确,启动后会打印类似如下信息:
Application - Watching /Users/jerry/projects/mine/gitee/test/ktorJwtDemo/out/production/resources for changes.
Application - Watching /Users/jerry/projects/mine/gitee/test/ktorJwtDemo/out/production/classes/com/cxyxy/ktor/jwt/demo for changes.
Application - Responding at http://0.0.0.0:8080

  • 如果未配置,启动后会打印类似如下信息:
No ktor.deployment.watch patterns specified, automatic reload is not active

  • 如果配置错误,启动后会打印类似如下信息:
No ktor.deployment.watch patterns match classpath entries, automatic reload is not active

  1. 当修改了类后,手动编译了工程或者指定类.
    ktor热部署(Automatic Reloading)_安卓开发技术
    如果不想每次手动编译,可以设置自动编译,借助插件​​Save Actions​​即可.
    ktor热部署(Automatic Reloading)_新技术_02

ktor热部署(Automatic Reloading)_javascript_03

ktor热部署(Automatic Reloading)_javascript_04