Eclipse Tomcat远程调试:来自eclipse的源代码缓存在哪里?

时间:2012-12-17 09:41:52

标签: eclipse tomcat remote-debugging

在调试tomcat 6时,我们发现Tomcat和Eclipse中的部署有两个不同的类。 Tomcat中的部署会创建NullPOinterException,但Eclipse源代码不会。问题是,如果我们用startup.sh启动Tomcat,它每次都会产生错误!如果我们使用catalina jpda start启动,将Eclipse连接到它,它会产生错误AS LONG,因为我们不会更改某个属性的值,从而导致此错误。更改此值后,即使我们删除部署文件夹和工作目录并在调试模式下再次启动,错误也就消失了。没有例外。但是,如果我们再次使用startup.sh重新启动,则会再次出现错误。

所以,我的问题是,Tomcat或Eclipse是否在某处缓存/存储来自Eclipse的源代码以供远程调试器使用?

谢谢!

1 个答案:

答案 0 :(得分:0)

Eclipse(我相信IDEA和Netbeans等其他人)在调试应用程序时“保存”时会替换服务器上正在运行的代码。这意味着在Eclipse中更改类时,保存它并在服务器上更改它。也称为代码替换。我也相信tomcat会记录catalina.out中的变化 但是,当您重新启动服务器时,它将获取之前部署的类,以便在Eclipse中的更改之前获取该类。