64

我刚刚升级到 Eclipse Juno 4.2。我有一个全新的工作区,但是导入了以前在 Eclipse 3.7 中使用过的项目,因此其中包含一些 Eclipse 元数据。

当移动到 4.2 时,我将一个项目转换为使用“Project Facets”。唯一启用的 Facet 是“Java”。

但是,我的进度视图中经常出现“JPA Java Change Event Handler (Waiting)”。我在项目中确实有 JPA 注释类,但我没有启用 JPA 方面。

那么......为什么我让这些任务由 Eclipse 运行?

eclipse进度窗口截图

更新:已经向 Eclipse 提交了错误,并且正在通过它的外观来查看它:https ://bugs.eclipse.org/bugs/show_bug.cgi?id=386171

4

6 回答 6

21

不幸的是,JPA java 完成建议扩展点错误地强制 oejpt.jpa.core 插件激活。一旦我们的插件被激活,我们就开始监听 java 事件和 facet 事件,无论是否 JPA faceted。在 Juno 中,这些后台线程被转换为 Eclipse Jobs 框架。在 Helios 中,您不会在进度视图中看到它们,但存在同样的问题。

感谢您针对此问题输入针对 Dali https://bugs.eclipse.org/bugs/show_bug.cgi?id=386171的错误。

更新:Juno SR1 的错误已修复,感谢 JDT Text 快速解决这个 Dali 错误!

更新 2:其他用例仍然存在此问题。在 Juno SR2 中,有 3 个错误正在解决,这将有助于解决此问题。其中一些有进一步的修复,需要在 Kepler 中进行。查看错误:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=397778

https://bugs.eclipse.org/bugs/show_bug.cgi?id=397606

https://bugs.eclipse.org/bugs/show_bug.cgi?id=386393

于 2012-07-30T16:09:26.853 回答
16

每当我禁用JPA Validatorin时,我都会遇到这种行为Window => Preferences => Validation。为两者启用它Build并使Manual疯狂的循环消失。

于 2013-12-18T12:51:06.940 回答
6

我发现(在仍然发生这种情况的 Eclipse Neon 中)删除 JPA Validator 中的所有组效果很好。单击 JPA Validator 右侧的框并删除所有包含的组:

在此处输入图像描述

于 2016-08-25T02:49:39.093 回答
2

在我的情况下,激进的解决方案是卸载“Dali JPA”。这似乎为我解决了这个问题。

当然,这不是最好的解决方案。首先尝试启用验证,如 NPE 的 anwser 中所述。错误 386171 有人在 2015 年 5 月报告了同样的问题,所以我一定不是唯一一个。

如果发现更好的东西,我会很乐意删除我的答案。

于 2015-06-02T12:03:05.920 回答
2
set eclipse_dir=D:\eclipse\release

mkdir %eclipse_dir%\disabled
mkdir %eclipse_dir%\disabled\features 
mkdir %eclipse_dir%\disabled\plugins

move %eclipse_dir%\plugins\org.eclipse.jpt.* disabled\plugins

for /f %%i in ('dir features\org.eclipse.jpt.*" /ad /b') do (
    move features\%%i" "%eclipse_dir%\disabled\features\%%i"
)
于 2015-11-17T18:56:15.677 回答
0

我遇到了同样的问题,我在 eclipse 4.5.2(mars 2)中遇到了同样的问题。我已经尝试了stackoverflow的几乎所有答案,调整了我的eclipse设置(我认为这可能是一个性能问题)。

在每个项目属性的项目构面中禁用 JPA 后问题停止。

在此处输入图像描述

在此更改之后,Eclipse 不断对 JPA 事件处理程序大喊大叫,但完成保存或清理并不需要很长时间,所以它看起来像是被禁用了(在更改此之前大约需要 10 分钟才能完成,现在只需几秒钟)

希望能帮助某人解决这个问题。

在此处输入图像描述

于 2016-11-17T09:05:22.853 回答