为什么Eclipse Juno 4.2运行“JPA Java Change Event Handler”进程?

时间:2012-07-24 12:58:21

标签: java eclipse jpa eclipse-juno

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

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

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

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

Screenshot of eclipse progress window

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

6 个答案:

答案 0 :(得分:21)

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

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

更新:已经为Juno SR1修复了错误,感谢JDT Text快速转发这个Dali错误!

更新2 :其他用例仍然存在此问题。在Juno SR2中,有3个错误可以解决这个问题。其中一些还需要进一步修复开普勒。见bug:

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

答案 1 :(得分:16)

每当我在JPA Validator中停用Window => Preferences => Validation时,我都会遇到此问题。为BuildManual启用它会使疯狂的循环消失。

答案 2 :(得分:6)

我发现(在Eclipse Neon中,仍然发生),删除JPA Validator中的所有组都运行良好。 单击JPA Validator右侧的框并删除所有包含的组:

enter image description here

答案 3 :(得分:2)

我案例中的重大解决方案是卸载“Dali JPA”。这似乎解决了我的问题。

当然,这不是最好的解决方案。首先尝试按照NPE的anwser中的说明启用验证。错误386171有人在2015年5月报告相同的问题所以我不能是唯一的。

如果找到更好的东西,我会非常乐意删除我的答案。

答案 4 :(得分: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"
)

答案 5 :(得分:0)

我遇到了同样的问题,我在eclipse 4.5.2(火星2)中遇到了同样的问题。我已经尝试了stackoverflow的几乎所有答案,调整了我的eclipse设置(我想也许是性能问题)。

在每个Project属性的Project Facets中禁用JPA后问题停止。

enter image description here

在这次改变之后,Eclipse一直在大肆宣传JPA事件处理程序,但它没有花费多少时间来完成保存或清理,所以它看起来像是残疾人(在更改之前需要大约10分钟完成,现在是它的问题几秒钟)

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

enter image description here