今天调试项目的时候,出现了莫名其妙的情况,事情是这样子的:
先前有个项目A,后来又新建了一个项目B,事实上项目B是项目A的修改版本,
因此,建立项目的时候,我在Eclipse中新建了一个项目B,然后把项目A中的所
有源代码Src目录,以及WebRoot目录复制到项目B中来.这样子一切还算正常了.
工作正在继续,却调试一段程序的时候,问题出来了!首先:项目B中一个Java文件
被修改,并且调试的时候,Eclipse Console控制台出现了堆栈异常,当鼠标点击异常
链接的时候,Eclipse文本编辑弹出了一个源Java文件,我却发现这个Java文件
不是我已经修改的项目B中的源Java文件,倒像是项目A中的源Java文件,使用
快捷键"Shift+Alt+W"让源Java文件在Navitagor中显示后,确认此Java文件确
实为项目A的文件.
然后就是一系列测试了-_-!
删除Tomcat缓存文件 :不行
删除Tomat A项目文件 :不行
关闭Eclipse中A项目文件,删除Tomat A项目文件,并重新部署项目B :不行!
最终怀疑,Eclipse跟踪的Java Class堆栈信息与Java Class文件编译时有关,
因此,将项目B中WebRoot/WEB-INF/classes下的class文件删除,让Eclise重新编译
一下src包里的源码,具体操作视自人方法,我的操作是:从项目B右键Properties
打开Java Build Path属性页,在Source标签页中,把Default Output Folder引向
项目的另一个新建文件夹(如:bin目录),确认完后,退出!这样,bin文件中便有了最
新的Class文件了,然后再次进入属性页,把Default Output Folder,重新设置成:
项目B/WebRoot/WEB-INF/classes,Eclipse再次编译Src源文件,如此之下,测试结果
就不会再出现常链接的链接错误了:)