我一直在一个有500多个类的项目中进行编码。其中一个类负责从磁盘中检索数据。出于某些原因,我更改了代码,但当我运行代码时,它仍然执行类的旧代码。当我调试时,调试器在空行上移动,这意味着它仍然在我更改的旧代码上运行。我清理并建造了这个项目好几次。我手动删除了所有.class文件,并重新构建了项目,但没有任何更改。
让我抓狂的是,我把这些代码复制粘贴到一个新项目中的一个新类中,并在该类中使用一个主方法进行测试,它运行得很好。
我想这是netbeans中的一个bug,或者背后有一些我不知道的东西。我使用的版本是7.1,它是最新的。
你知道如何克服这个问题吗?
由于缓存的原因,我遇到了一些(不同的)问题。在我删除后一切都正常。
在我的机器(Windows 7)上,它位于:MyDirectory > .netbeans > 7.0 > var > cache
。
是的,这种事情在eclipse中也会发生。有时,当项目很大时,根据项目中使用的目录结构,生成可能无法正常工作。当你说你正在清理和重建代码时,你是否真的尝试过删除bin
文件夹或build
文件夹?如果你这样做,我想你就不应该再面对这个问题了。有时,一些不再被引用的类可能会留在jar中。甚至可能发生的情况是,您的旧类仍在运行代码的类路径中(旧代码的jar可能仍在类路径中)。
希望这能帮助
这并不是真正的缓存问题。如果您使用的是netbeans:
- 右键单击项目
- 导航到属性并单击它
- 点击跑步圈(按钮)
- 将主课改为您喜欢的主课
- 单击"确定"
现在应该可以了