Eclipse-无法执行现有代码,依旧执行以前的代码

本文详细记录了解决Eclipse中代码修改后无法同步至Tomcat的问题过程,包括尝试多种解决方案,如清理项目、调整自动保存设置、检查JRE版本等,最终发现编译后的class文件未更新,并通过调整Classpath成功解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Project-build automatical 打勾
Window-Preferences-General-Workspace-右侧的“Save automatical before build” 打勾
Window-Preferences-Run/Debug-Launching-右侧的“Save required dirty edits before launching”下的“Always”打勾

 


1、add and remove项目,清理tomcat部署目录下的项目,清理缓存 (失败)

2、project-->clean, add and remove 重新添加工程 (失败)

3、project--> Build Automatically (失败)

4、看了些网上的答案,说是eclipse修改源文件时间,编译后的时间,不能超过当前时间,否则eclipse 不会去编译,因为eclipse编译的机制是根据时间,如果修改的时间比系统当前时间超前就会去编译,需要在tomcat jdk上设置当前时区参数。

去自己tomcat重新部署后的webapps下看了时间,也改了,就是当前时间,甚至也改了时区参数,依然失败

5、重新在build path下,删除原来的jre,然后再重新 Add Library,还是失败了
6、怀疑是jre版本问题,好吧,把jre7 换成7依然不行,到这里真是快崩溃了

这一切的操作都认为编译后的class文件与我修改后的代码一样,因为之前我把编译后的class文件反编译看了一下,确实把修改后的内容已经编译到里面了,但不知道何故就是debug的时候代码一直不同步。这个问题折腾了我三个小时都搞不定,就找了个同事帮我看下,他也试了几个方法没生效,最后也是随意看了以反编译的class文件,天呐,一看,瞬间知道怎么回事了,这个编译后的文件还是之前的老代码,新加的东西并没有编译进去,debug不同步就对了。知道问题就好办了。

删除classpth下之前加载的当前工程,因为每次tomcat运行都会加载classpth下面的依赖,文件,jar包等。

记录一下,希望给需要的人,少走点弯路。


以上


全部执行后依然有问题,就删除了server的tomcat,重新加了一次tomcat,启动OK


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐 城

小朋友,你是不是有很多问号?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值