我有一个带有一个 java 类和一个 jsp 的 Hello-World 应用程序。 JSP 打印出嵌入在 JSP 和 java 类中的一些文本。 (它打印出两件事)
我按照指示 here创建和部署我的应用程序,它(大部分)工作!我能够调用 JSP 并正确显示页面。按下 Intellij 重新加载按钮后,我还可以热交换 java 类中的更改。
问题:如果我更改 JSP,它不会反射(reflect)在浏览器中。
我已验证以下内容:
- Tomcat/conf 目录中的web.xml 不会覆盖“开发”值。默认值为 true。
- HelloWorld\web\META-INF\context.xml 和 Tomcat\conf\context.xml 中的 context.xml 都具有 reloadable=true
- 在任何更改时立即将 JSP 从 C:\code\HelloWorld\web\index.jsp 复制到 C:\code\HelloWorld\out\artifacts\HelloWorld_war_exploded\index.jsp
- 不是浏览器缓存问题
有什么想法吗?
最佳答案
当我回答这个问题时,IntelliJ IDEA 的版本是 13.0.2。自从提出这个问题以来,选项略有不同。简而言之,通过您项目的“运行/调试配置”面板:
- 确保您的项目设置为“ war 爆发”(通过“部署”)
- 在“服务器”选项卡上,将“帧停用”设置为“更新类和资源”
按顺序执行这两个步骤,将导致项目在 IDEA 失去焦点时“热交换”(即当您将焦点更改为网络浏览器时)。
关于java - 使用 Intellij 10.X 和 tomcat 6.X 修改后热部署 JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5558562/