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

时间:2016-09-06 06:59:59

标签: java spring jsp debugging intellij-idea

My IntellijIdea 15在Debug模式下成功反映了运行时Web应用程序上Java文件的变化,但无法反映JSP,JavaScript的变化。

Here is the Changes

Here is the Debug mode Hot swap option changes

有人可以建议在调试模式下无法更改的内容吗?因为我在Google上研究了很多,但无法解决我的问题。

先谢谢

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

1 个答案:

答案 0 :(得分:0)

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

更新操作因运行与调试操作而异(因为调试器已连接到VM并且必须考虑在内)IntelliJ IDEA help guide注意到有关类的这种差异:

  

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

不幸的是,如果JSP或静态页面的处理不同,它并不表示任何一种方式。如果您在运行时没有问题,但在调试时执行此操作,则可能就是这种情况。

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

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

您还可以查看此SO答案 - https://stackoverflow.com/a/19609115/1348743 - 查看您的配置中是否遗漏了任何内容。