一个java类里面的某个方法断点断不了,sysout输不出,而其他方法都正常,晕了。
重新编译,重启tomcat,删了tomcat下的文件再部署。。都没用。。。
那个方法是strut2调用,我怀疑是一直调用的原先的class(class名没变过),因为即使把这个方法删了程序也一样执行(.class文件是最新的)。
我也不明白为什么一个class中,部分方法是今天的代码,而只有那个方法以及子方法都是昨天的东西。难道MyEclipse编译一个文件是选择部分文件内容编译的?
比较乱,不知道有没有人遇到过,谢谢!
clear 之后去看看 .class 文件是否已经被删除 --- 我都是这么看的.
你这个问题, 我觉得不能过于纠结 .class 是否正确生成吧. 错误应该存在于其他方面.
不明白,你看下在不调试的情况下system.out.println能有结果吗,可能程序没走到那个方法去呢。
按照你的说法,貌似不可能,没见过
[quote]
那个方法是strut2调用,我怀疑是一直调用的原先的class(class名没变过),因为即使把这个方法删了程序也一样执行(.class文件是最新的)。
我也不明白为什么一个class中,部分方法是今天的代码,而只有那个方法以及子方法都是昨天的东西。难道MyEclipse编译一个文件是选择部分文件内容编译的?
[/quote]
从未见过这种问题
MyEclipse clear project(clear 之后手动检查 .class 是否都已删除), 再重新编译整个 project 试试.
可以的话, 贴出代码看看.
[quote]我clear之后,看了webapps下的那个.class文件的时间是最新的,没有反编译出来看看,那个时间会不会是迷惑人的?那你看一个.class是不是最新的是不是看它的时间?[/quote]
看时间不是唯一性 最好还是反编译一下 因为有可能涉及到不同JDK版本 编译出结果是不同的问题 也有可能是类有问题 便宜一半中途就停止编译了