My IntellijIdea 15在Debug模式下成功反映了运行时Web应用程序上Java文件的变化,但无法反映JSP,JavaScript的变化。
有人可以建议在调试模式下无法更改的内容吗?因为我在Google上研究了很多,但无法解决我的问题。
先谢谢
**注意**我已经关注了 https://www.mkyong.com/intellij/intellij-idea-auto-reload-a-web-application-hot-deploy/ 但它不起作用
答案 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 - 查看您的配置中是否遗漏了任何内容。