【发布时间】:2015-03-07 15:39:23
【问题描述】:
我有一个 Spring Web 应用程序,当我在 Tomcat 中使用 IDEA 的调试器进行调试并在进行一些更改后重新部署项目时,未部署更改并且调试器“看到”旧代码(单步执行错误或空行)。唯一有帮助的是运行 maven clean install 然后再次启动 Tomcat。
我尝试清除 IDEA 缓存,但没有帮助。
Hotswap 也不起作用,虽然我在设置中选择了正确的选项,但我可以忍受。
请注意,我使用重新部署而不是热插拔,所以整个应用程序重新启动,它应该重新加载所有类,但它没有。只有在 Maven 构建之后它才能工作。
注意 2:我认为一个月前它还可以,但我想不出任何改变可以做到这一点(项目或 IDEA)
编辑:所以热插拔现在工作正常(神奇的是,我什么都没做)。但是当我进行较大的修改(例如方法签名更改等)时,它们不会在重新部署到服务器期间被拾取。因此,我需要运行 maven clean install 并再次启动服务器以查看更改并在此新代码上修改方法主体后让热插拔正常工作。知道为什么吗?
【问题讨论】:
-
我看过这个这个答案,我的设置完全相同。
-
你能贴一张你的运行/调试配置的截图吗?另外,您使用的是什么版本的东西?即 IntelliJ IDEA、Tomcat、Java、Spring。我只是在一个简单的 webapp 项目上重试了这个,一切都按预期工作。
标签: java maven tomcat intellij-idea