首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Tomcat/Spring boot重新加载META-INF/resources/ jsp文件(实时更新)

Tomcat/Spring boot重新加载META-INF/resources/ jsp文件(实时更新)
EN

Stack Overflow用户
提问于 2017-01-12 02:02:10
回答 3查看 2.7K关注 0票数 16

我在spring boot/tomcat实例中使用jsp时遇到了问题。基本上,我将所有的jsp文件都放在模块A中(A/src/main/resources/META-INF/resources/jsp),该模块作为jar依赖项包含在模块B(主模块,war打包)中。问题是,当应用程序在调试模式下运行时(无论是在Eclipse中还是在tomcat Idea中),位于模块A中的jsp文件都不会被自动重新加载(在呈现的网页上看不到文件中的更改),只有重启IntelliJ才会真正重新加载文件并显示更改。模块B中被覆盖的jsp文件本身正在被重新加载,只有模块A中的jsp文件有问题(可能是因为META-INF/resources文件夹)。

模块A结构(依赖项,打包为jar):src/main/resources/META-INF/resources/jsp/*.jsp

模块B结构(主模块,打包为war,此处的jsp覆盖模块A中的结构):src/main/webapp/jsp/*.jsp

我一直在寻找解决方案,但我得到的最接近的答案是(使用JRebel):https://zeroturnaround.com/forums/topic/jsps-in-servlet-3-0-jars-are-not-reloading/

另外,这是一个关于如何设置jsp的示例:https://github.com/ghillert/spring-boot-jsp-demo

EN

回答 3

Stack Overflow用户

发布于 2017-02-18 17:53:04

我不知道它是否适合您的限制,但是有一个像这样的解决方案:https://spring.io/blog/2015/06/17/devtools-in-spring-boot-1-3

另一种选择:https://github.com/spring-projects/spring-loaded

我使用JSF和Facelets,热重载对于动态渲染的web技术来说总是有点问题。因此,除了spring-boot-devtools之外,我的建议是将静态内容开发过程与渲染相关过程分开。如果你只需要热重新加载css,html,js编辑,那么大多数技术都可以帮助你,但是渲染相关的组件编辑会要求你重新构建,重新部署你的应用程序。他们问你的频率取决于你将要使用的工具的质量。

票数 4
EN

Stack Overflow用户

发布于 2017-02-18 18:03:41

这很可能与:https://stackoverflow.com/a/8656527/696632相同。

类路径中的所有资源都受制于缓存。你应该对答案进行评估。

票数 4
EN

Stack Overflow用户

发布于 2017-02-25 04:34:25

一种选择是使用Gradle Cargo PluginMaven Cargo plugin将您的文件重新部署到Tomcat上(所有文件都可以重新部署,包括资源文件)。

文件重新加载不是自动的。对于Gradle和Maven版本,您必须分别手动运行相关的任务/目标、CargoRedeployLocal或cargo:redeploy。

如果重新启动一切都需要很长时间,那么使用Cargo插件重新部署可能有助于加快速度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41597675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档