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