当前位置: 首页 > 知识库问答 >
问题:

智能无法在调试模式下自动重新加载web应用程序(热部署)JSP和Javascript更改

刘畅
2023-03-14

我的IntellijIdea 15在调试模式下成功地反映了运行时web应用程序上Java文件的更改,但无法反映JSP、JavaScript上的更改。

有没有人能指出在调试模式下缺少了什么无法改变的东西?因为我在谷歌上研究了很多,但无法解决我的问题。

提前感谢

**注意**我已经关注 https://www.mkyong.com/intellij/intellij-idea-auto-reload-a-web-application-hot-deploy/ 但它不起作用

共有1个答案

令狐昌胤
2023-03-14

我看到了一些可能性。。。

更新操作对于运行操作和调试操作是不同的(因为调试器附加到 VM 并且必须考虑在内) IntelliJ IDEA 帮助指南指出了有关类的这种差异:

在调试模式下,更新的类是热插拔的。在运行模式下,IntelliJ IDEA只是更新输出文件夹中更改的类。这些类是否真的在运行中的应用程序中重新加载,取决于正在使用的运行时的功能。

不幸的是,它并没有指示JSP或静态页面的处理方式是否不同。如果您在运行时没有问题,但在调试时有问题,那么很可能就是这种情况。

还要记住,JSP是一种奇怪的野兽。Web 容器将它们编译到 Servlet 中。并非所有 Web 容器都会看到对 JSP 页面的更改并重新编译 Servlet。自从我使用JSP以来已经有很长一段时间了,但如果我记得Tomcat可以配置为识别更改的JSP页面并重新编译它。我不记得默认行为。

最后,当附加调试器时,Web 容器的行为可能与未附加时的行为不同。

你也可以看看这个SO答案——https://stackoverflow.com/a/19609115/1348743--查看配置中是否遗漏了任何内容。

 类似资料:
  • 我正在使用IntelliJ IDEA15和tomcat开发一个AngularJS和Spring Boot应用程序,每当我对静态内容进行更改时,我总是要重新启动应用程序才能看到这些更改。 我找了一个类似的问题,我发现了这个: 启用html和javascript文件的IntelliJ热交换

  • 问题内容: 目前看来,对于sails.js应用程序中的任何代码更改,您都必须手动停止sails服务器并再次运行,然后才能看到更改。 我想知道在开发模式下运行时是否有任何方法可以在检测到代码更改时自动重新启动sails服务器? 问题答案: 您必须使用forever,nodemon或其他类似的观察器。 通过运行以下命令 永久 安装: 运行: 为了避免由于Sails写入文件夹而导致无限重启,您可以在项目

  • 应用更新部署无需reload或者restarthi-nginx。hi-nginx-java能根据全局配置 route { lrucache { reflect { expires = 300 size = 1024 } } } 自动实现热更新。关键值由"route.lrucache.reflect.e

  • 问题内容: 我有一个加载DLL来执行处理的特定部分的应用程序 Process.dll 使用反射 在运行时动态加载 ,并且未在应用程序中引用。 处理完成后,需要在服务器上重新编译DLL,然后稍后再次加载。 为此,我需要释放它,否则会收到以下消息:“无法将文件“ Process.dll”复制到“ Process.dll”。该进程无法访问文件“ Process.dll”,因为被另一个进程使用。” 因此,

  • 情况如下: 我使用maven和cargo plugin将web应用程序自动部署到不同的环境中,使用Hudson运行/调度作业来完成这项工作。我使用tomcat作为目标应用程序容器。 但是我想找到最好的方法来备份部署的Web应用程序到某个网络/FTP位置,在maven/货物部署最新版本之前。我一直在寻找一些有助于做类似事情的maven插件,但似乎像这样的任务超出了maven的范围。此外,我正在寻找一

  • 我最近创建了我的GitHub.io存储库,以部署我以前在我的个人电脑上运行的已完成的应用程序。下面是我的应用程序的结构- 页面希望读取index.html文件,但我希望它首先读取app.js,然后从app.js自动生成流。 如何让GitHub.io读取我的app.js文件?