热代码交换不起作用,为什么?

Max*_*ind 5 java eclipse hotswap

当我试图编写一个简单的一个类控制台应用程序时 - 没有问题.我可以在调试时更改方法中的代码.

问题出在我在Jetty上的网络应用程序.它不起作用,也不仅仅是在通常的调试模式下(在eclipse中按下调试按钮),也不在此处描述的远程调试模式中.我可以调试,但不能改变,即使通常不是静态方法,例如添加sysout,我的意思是我可以更改它但保存后它没有更新,它的工作原理与以前相同.

此外,我与我的同事交谈,它适用于他们,但他们使用的是Spring Tool Suite版本的eclipse,我尝试并得出结论,它在最新版本的STS中可以在通常的调试模式下开箱即用,并且它无法在最新版本的Eclipse.

可能是什么原因?

Pav*_*ral 3

根据我对问题的评论回答(按照OP的建议):

当您的工作区或项目元数据损坏时,可能会发生奇怪的 Eclipse 行为。例如,当您升级 Eclipse 版本并使用旧版本创建的工作区时,可能会发生这种情况。

您应该尝试重新创建工作区并设置新的项目结帐。如果问题消失,您就知道工作区元数据中有问题。

  • 您基本上是在做出通用答复“如果它坏了,它将无法工作”。您没有证据证明这里是这种情况,所以这不是一个实际的答案。 (3认同)
  • OP 的热插拔有问题,但应该可以。当元数据损坏时,Eclipse 将无法正常运行。OP 说,重新创建该项目有帮助。所以我不明白这为什么不是一个正确的答案,即使我无法查明确切的原因。至少我不建议商业产品只是解决配置问题;)。 (2认同)
  • 不过,我没有创建另一个工作区,我只是运行了“mvn eclipse:clean”-“mvn eclipse:eclipse” (2认同)