热部署
Jmix 支持热部署技术,该技术支持将项目更改立即应用于正在运行的应用程序,而无需重新启动应用服务。
热部署支持下列类和资源:
-
界面 XML 描述和控制器;
-
界面控制器用来初始化或通过静态方法访问的类;
-
本地化消息;
-
菜单;
-
Fetch plans;
-
资源角色;
-
行级角色。
实体类和 Spring bean 不支持热部署。
热部署工作原理如下:
-
Studio 会检查更改的源文件:
-
如果是资源文件,Studio 将这些资源文件复制到
.jmix/conf
文件夹; -
如果是 Java 或 Kotlin 源文件,Studio 会编译这些文件并复制到项目的
build/classes
文件夹。
-
-
当应用程序打开新界面时,会从上述文件夹中加载新的类和资源文件。
热部署资源放置的文件夹位置通过 jmix.core.conf-dir 应用程序属性确定。在应用程序启动时,该文件夹会由 Run/Debug Configuration Settings 中配置的 Before launch 任务清空。
Studio 还会向应用程序发送信号,要求清除相应的缓存,以便加载更改后的资源。包括消息缓存、fetch plan 配置、注册的界面以及菜单项。信号是作为一个触发器文件放在 .jmix/temp/triggers
目录中(目录可通过 jmix.core.temp-dir 配置修改)。
应用程序可能需要 2-3 秒重新加载 Studio 保存后的类和资源文件。如果在打开的界面看不到期望的改动,可以关了界面重开试试。 |
本页是否有帮助?
感谢您的反馈