这可能看起来很奇怪。
我用Java编写了一个代码(在Eclipse中)。然后,我对代码做了一些修改。现在,我正在尝试运行新代码(已修改),但它仍然提供了它为前面的代码提供的输出。
我在代码中放了几个调试点,但它正在跳过一些调试点(尽管它应该停在它们上面)并在某个调试点停止,但即使在这里它也调用了以前存在的方法该位置的代码(虽然我现在已对它们进行了评论)。它似乎从某个地方仍在调试旧代码。
如何摆脱它?
谢谢!
答案 0 :(得分:7)
您是否尝试过清洁项目?
Project(menu) -> clean
还要确保
Project(menu) -> Build Automatically
选择以便您编写的所有新代码然后编译
如果clean和build不起作用,则可能有一个jar文件包含您编辑的类,因此eclipse将在jar中运行已编译的类文件而不是当前文件。
答案 1 :(得分:2)
有两种可能性,因为java代码没有正确更新:
在项目.project
的{{1}}文件中,编辑或缺少构建命令。这里不应该评论下面提到的代码:
org.eclipse.jdt.core.javabuilder
答案 2 :(得分:0)
我有同样的问题。我在Eclipse中清除了一些打印到控制台的代码,但是当我从命令行运行代码时,这些更改没有反映出来。我正在从我的代码创建并执行一个jar文件。原来,我做了更改后忘了重新编译。因此,以下解决了该问题:
javac packageName/*.java
现在,当我创建jar文件时,它将反映更改。
答案 3 :(得分:-1)
我最近遇到过这个问题 - 新代码停止工作。我点击清理 - 然后它再也找不到主要课程了,程序根本不会运行。
我发现的修复(每次都有效)是重构 - 重命名项目。这立即修复了它。然后我只是改回名字。然后几天之后再次发生,我必须重新命名才能修复它。