Eclipse 更改未反映在输出中

Posted

技术标签:

【中文标题】Eclipse 更改未反映在输出中【英文标题】:Eclipse changes not reflected in output 【发布时间】:2018-04-14 00:39:18 【问题描述】:

我已经使用 Eclipse 好几年了,没有任何问题。上周我对我的 java 代码进行了更改,没有问题。现在,我试图对我的代码进行更改,但在我运行代码时它们并没有反映出来。一个例子(还有几个)是我更改了我要访问的 URL。我有一个打印语句来验证变量是否获得了正确的信息。它仍然反映旧代码。

我认为某处可能缓存了某些内容,因此我启动了服务器,但问题仍然存在。我尝试删除一些旧项目以防万一它们损坏,但问题仍然存在。有一些关于这种情况发生在其他人身上的参考资料,但它们总是涉及 Tomcat 或我没有使用的其他一些应用程序。我的设置只是用java eclipse。我的版本是 Mars.2 Release 4.5.2。

【问题讨论】:

菜单项目>自动构建中有一个标志,确保它也被选中,不确定它是否在运行时禁用构建,否则您需要手动构建(Ctrl + 3 ...构建...输入) 谢谢。我确认它仍然处于选中状态。我希望有一个简单的解决方案。 使用您的源代码版本控制工具查看是否有任何项目相关文件被更改 我从未使用过源代码版本控制工具。从我在网上阅读的内容来看,现在对我有帮助已经太晚了,对吧?您对未来有什么建议吗? 检查修改为时已晚,但如果您想了解更多信息,请使用使用 git 的 github 或具有私有存储库的 gitlab(也使用 git) 【参考方案1】:

Marcos 启用“项目 > 自动构建”的答案帮助了我。它在最近的更新中被自动禁用,我花了很多时间试图找出问题。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。 这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review【参考方案2】:

我不确定是什么损坏了。我尝试过 1. 将项目导出为 .zip 文件。 2.删除工作区 3.打开日食 4.关闭日食 5.打开日食 6. 导入项目

这并没有解决问题。有人问我看到问题的代码。这是几个地方,但一个例子是

 //     String fileURL = "ftp://www.websiteIDoNotWant" + path;
        String fileURL = "http://websiteIDoWant" + path;
        System.out.println("FileDownloader, fileURL: " + fileURL);

我得到的输出是 FileDownloader,fileURLftp://www.websiteIDoNotWant/2012/020/rkpt/rkpt0200.12d.Z

因此,最终的工作是使用新类创建一个新的 Maven 项目,并一次复制一个类的代码并将其粘贴到新项目中。 新项目中不存在缓存旧代码的任何内容。我将删除旧的并继续前进。

【讨论】:

你又说 maven :p 我是认真的。我把这个变成了一个 Maven 项目。我所有的新代码都是,这就是为什么我认为我正在查看的代码是 Maven。我不记得多年前我是什么时候开始使用 Maven 的。 :-)【参考方案3】:
    执行maven build clean install 并查看构建是否能够成功完成。 做maven>Update项目。 尝试清除服务器根文件夹中的所有预构建文件(.class 文件和所有内容)并重新发布项目。

如果上述所有步骤都成功,但您仍然无法解决错误,我想清理您的本地 .m2 文件夹并从头开始重新构建所有内容可能会有所帮助。

缓存 java .class 文件很痛苦。它每天都发生在我身上,这完全是因为我的 .class 文件被缓存在 tcServer 中,并且每当我重新启动时,相同的文件就会被拾取。清理这些文件将强制 eclipse 重新编译所有 java 文件,当您构建并将它们发布到 tcServer 时,它们将被替换。

【讨论】:

我正在执行第 1 步。我查看了有关如何执行此操作的视频,他开始右键单击 pom 文件。我遇到问题的项目中没有一个。这是否意味着它没有使用 Maven? 好吧,你为 maven 添加了一个标签,而我从未参与过任何没有 pom 文件的 maven 项目。尝试直接在您的情况下直接清除根目录。只需从服务器中删除项目,清理根目录,启动服务器,再次停止,添加项目,最后再次启动。相信我,这行得通。 对于 Maven 标签,我很抱歉。我最初是在这些年前创建的,并错误地认为它们都是 Maven 项目。这比我发现 Maven 早。只是为了确保您的指示...1。将项目导出到 .zip 文件。 2.删除工作区 3.打开eclipse 4.关闭eclipse 5.打开eclipse 6.导入项目。我按照这些步骤操作,但它仍在运行旧版本。如果您通过“清理根目录”来表示不同的意思,那么我误解了。 你用的是tomcat服务器吧?在您的 tomcat 服务器中有一个根目录,您的应用程序将从该根目录中运行。请打开它并清除所有类文件。删除工作区无济于事,因为您的类文件卡在 tcServer 中。删除和重新运行一切都是为了服务器,而不是为了日食。我希望我很清楚:) 对不起,我没有使用 Tomcat。我直接从 Eclipse 运行它,直到它运行良好 - 然后我制作了一个 java 小程序并让 windows 调度程序命中它。

以上是关于Eclipse 更改未反映在输出中的主要内容,如果未能解决你的问题,请参考以下文章

MobileFirst Eclipse 未检测到更改

Git分支未在Eclipse中显示

Android / Eclipse - 当我对 AVD 进行更改时,图形布局 (XML) 未更新

Eclipse 部署代码未考虑任何更改

Eclipse IDE 未显示正确的输出

Eclipse启动tomcat没有反映