portal module 的 resources路径下的样式文件等静态资源没法重载更新

thymeleaf模板的更新问题倒是解决了,portal module 的 resources路径下的样式文件等静态资源没法重载更新,我记得这个热重载一般是IDE支持的,比如 Intellij 有个 update resources (当结构修改时)。插件好像没有这些设置。

Update resource 应该是对idea 中的artifact 起作用,CUBA 项目在Studio中是没有artifact的,所以应该部署不了,我们正好也在处理这个问题,晚点我告你临时解决方案。

1 个赞

太好啦,谢谢,不用着急

我们的方案是使用 IDEA 的 FileWatcher 插件执行ant脚本,filewatcher监测到文件发生变化,调用 ant脚本复制变化的文件到目标路径:
Ant脚本参考:
StaticResourceSync.xml (674 字节)
FileWatcher配置参考:
image

关于 FileWatcher的使用方法见IDEA文档,关于ANT脚本的用法参考ant相关文档。

实践下来后发现,deploy中的文件倒是更新了,但是似乎tomcat没有重载文件,前端刷新缓存也无效

之后添加 Contextdeploy/tomcat/conf/server.xml 中解决问题:

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- Hot reload static files -->
        <Context path="/cy-portal/resources"
                 docBase="D:/source/intellij/cy/deploy/tomcat/webapps/cy-portal/resources"
                 reloadable="true" crossContext="true" />
1 个赞

完美!也感谢你能反馈最终结果给社区。