2010-09-18 50 views
0

我突然遇到了一个奇怪的问题,我为什么会出现这种情况。Tomcat 6.0.26缓存Java类

我的基本设置是使用maven(eclipse插件0.20),Tomcat 6.0.26。

直到几天前我能够以调试模式启动tomcat,在调试和测试代码时进行更改。然后为maven运行prepare-package,停止并启动tomcat以反映更改。

但是自从几天以来,debug选项停止工作,eclips没有正确加载类的更改。我最初认为这是一个调试问题,但后来即使我停止了tomcat,运行了一个准备软件包并启动了tomcat,我的班级变更也没有显示出来。

我通常在eclipse中将构建自动保持为真,它将类文件写入目标/类,maven将其复制到tomcat读取它的WEB-INF /类。切换此选项有助于准备包仅在有时才起作用。

我不知道这可能是我的maven插件或tomcat做一些更类的缓存的问题。这些不是servlet或JSP,而是普通的java类。

想知道,如果有人看到了这种问题,或只是我的机器给我找麻烦

+0

如何启动Tomcat? WTP?货物?外部?您是否使用Workspace解决方案? – mhaller 2010-09-18 22:37:55

+0

我使用catalina jpda start命令从命令行启动tomcat – Fazal 2010-09-19 07:40:20

+0

呵呵,您正在使用调试器替换热代码。这取决于班级是否可以被替换,例如签名保持不变 – mhaller 2010-09-19 14:15:21

回答

0

你可以写一个小型Web应用程序,它从月食,调试部署到tomcat的话,修改代码,看看如果它的自动部署..它的工作原理,你可以尝试删除你的eclipse项目,并重新导入和重建它

0

这个问题是resoved。我的应用程序有两个具有不同版本的相同类(相同包层次结构)的jar(一些内容但名称不同)。所以当我试图调试时,它正在选择一个较旧的。我删除了旧的jar,问题就解决了。

谢谢