Eclipse运行旧版程序

时间:2011-12-10 08:18:25

标签: java eclipse

我在eclipse中运行应用程序时遇到问题。我做了一些这样的编辑:

String res = "newvalue";
System.out.println(res);

但是当我运行应用程序时,我仍然在输出中收到“oldvalue”。在此之后我尝试删除main()函数 - 我运行应用程序,然后再次在输出中看到“oldvalue”。

也许它是JVM中的一些缓存,或者是smth。别的?

UPD:

现在我的时钟已经是15:35了。但是在/ bin文件夹中,我看到了带有14:33时间戳的.class文件。我更改源文件(.java),在eclipse中按ctrl + f11,/ bin文件夹中的文件仍然是14:33 ......

UPD2:

清理项目后,我收到以下问题:

项目未构建,原因是“无法写入文件:D:\ projects \ NelderMead \ bin \ ru。”。解决问题,然后尝试刷新此项目并构建它,因为它可能不一致

问题是eclipse无法将文件写入带有空格和UTF字符的文件夹中。所以,我将项目复制到新的干净工作区,它运行没有问题!谢谢所有人帮忙发现问题!

2 个答案:

答案 0 :(得分:5)

您正在执行较旧的类文件,原因可能是

  • 其他地方的编译错误(请参阅问题视图)

  • 或您意外更改了源路径,以便不再编译新源。

尝试清理项目并确保将新类编译到输出文件夹。 JVM没有类文件的缓存。

答案 1 :(得分:2)

首先,确保文件已保存(选项卡中文件名旁边没有星号)。通常文件会自动保存,但您可以选择不保存文件而从不会错误地询问,这是Eclipse第一次弹出此对话框。

enter image description here

然后查看问题视图中发生了什么。您可能会看到project cannot be built due to the following reason之类的内容。这可能是因为依赖项目中的编译错误。

enter image description here