【问题标题】:Java Code not properly updatingJava 代码未正确更新
【发布时间】:2011-10-07 21:40:43
【问题描述】:

这似乎是一个奇怪的问题。

我用 Java(在 Eclipse 中)编写了一段代码。然后,我对代码做了一些修改。现在,我正在尝试运行新代码(已修改),但它仍然为我提供了它为先前代码提供的输出。

我在代码中放了几个调试点,但它跳过了一些调试点(尽管它应该停在它们处)并停在某个调试点,但即使在这里它也调用了以前存在的方法该位置的代码(尽管我现在已经对它们进行了评论)。从某个地方看来它仍在调试旧代码。

如何摆脱它?

谢谢!

【问题讨论】:

  • 它看起来像是某种同步问题。我假设您已经尝试使用 Project --> clean 清除您的类缓存并使用 F5 刷新项目。 (从文件系统同步)。如果这些都不起作用,那么我相信文件系统中可能存在某种锁定。检查是否有其他程序访问同一个项目,是否有其他锁。
  • @doc_180,非常感谢您的回复。实际上,问题仅在于清理项目。我忘记打扫了。 ;)

标签: java eclipse debugging breakpoints


【解决方案1】:

您是否尝试过清理项目?

Project(menu) -> clean

还要确保

Project(menu) -> Build Automatically

被选中,以便您编写的所有新代码都在那时和那里编译

如果清理和构建不起作用,则可能存在一个包含您编辑的类的 jar 文件,因此 eclipse 将在 jar 中运行已编译的类文件而不是您当前的文件。

【讨论】:

  • 尼瓦斯,非常感谢。我只是在构建工作区并重新启动 Eclipse。忘记清洗了。谢谢!
  • 我实际上已经从spring tool suit创建了一个spring boot应用程序,然后在eclipse中导入了该项目。问题是我已经删除了目标文件夹和 clean install 它但仍然执行旧代码。
  • @AkashAggarwal 你能提供更多细节吗?上面的答案已有 5 年历史,因此如果您能告诉我们什么是“持续存在”,这将有所帮助。
  • @Nivas 经过一天的斗争,事实证明真正的问题是 Java 没有更新类文件。 Eclipse 没有错。
【解决方案2】:

有两种可能导致 java 代码没有正确更新:

  1. 项目 -> 自动构建未选中
  2. 在项目org.eclipse.jdt.core.javabuilder 构建命令的.project 文件中被注释或丢失。这里不应该评论下面提到的一段代码:

    <buildCommand>
         <name>org.eclipse.jdt.core.javabuilder</name>
         <arguments></arguments>
    </buildCommand>
    

【讨论】:

    【解决方案3】:

    我有同样的问题。我在 Eclipse 中清除了一些打印到控制台的代码,但是当我从命令行运行代码时,这些更改并没有反映出来。我正在从我的代码中创建和执行一个 jar 文件。原来我在进行更改后忘记重新编译。所以以下解决了问题:

    javac packageName/*.java
    

    现在,当我创建我的 jar 文件时,它会反映所做的更改。

    【讨论】:

      【解决方案4】:

      我最近遇到了这个问题 - 新代码停止工作。我单击 clean - 然后它再也找不到主类并且程序根本不会运行。

      我发现的修复方法(每次都有效)是重构 - 重命名项目。这立即修复它。然后我只是把名字改回来。然后几天后它再次发生,我必须再次重命名它来修复它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-23
        • 1970-01-01
        • 2021-10-26
        • 2011-07-19
        相关资源
        最近更新 更多