Eclipse JPA项目更改事件处理程序(正在等待)


136

每当我尝试构建项目时,为什么会得到“ JPA项目更改事件处理程序(正在等待)”。

我的工作区中有一些JPA项目,构建项目需要很多时间。这还会导致GC超限,分配给Eclipse的堆空间为6GB

我目前正在使用开普勒。在Helios中未发生此问题。

对于上述错误,有一些BugZilla条目,但我可以看到它们已修复。但是在4.3.1中不可用?

上述问题有解决方案/解决方法吗?

谢谢


1
我也在Luna中看到了这一点。
HDave 2014年

1
我也正在火星2上发生这件事
JuanN

2
在同一台机器上,对我来说,它在霓虹灯中发生,但在火星中却不发生...
Bob Yoplait

1
发生在Neon.2中,甚至没有使用JPA。
Ed Randall

2
它也存在于2020
Vishnudev K

Answers:


165

我遇到了同样的问题,最后发现这似乎是DALI (Eclipse Java持久性工具)中的一个已知错误,因为至少eclipse 3.8可能导致Java编辑器中save操作非常慢

由于开普勒(20130614-0229)尚未完全解决此问题,并且由于我在日食中不需要JPT / DALI,我最终手动删除了org.eclipse.jpt功能和插件。

我所做的是:

1.)退出日食

2.)转到我的Eclipse安装目录

cd eclipse

并执行以下步骤:

* nix:

mkdir disabled
mkdir disabled/features disabled/plugins

mv plugins/org.eclipse.jpt.* disabled/plugins
mv features/org.eclipse.jpt.* disabled/features

视窗:

mkdir disabled
mkdir disabled\features 
mkdir disabled\plugins

move plugins\org.eclipse.jpt.* disabled\plugins
for /D /R %D in (features\org.eclipse.jpt.*) do move %D disabled\features

3.)重新开始蚀。

启动后首次使用eclipse可能会警告您,您需要重新配置content-assist。在“首选项”对话框中执行此操作。

做完了

卸载DALI / JPT后,我的日食再次恢复正常。保存文件时,不再有被阻止的UI和等待几秒钟的时间。


9
附带说明:Eclipse团队可能应该尝试就发行版中包含的和不可取消的功能/项目的数量进行讨论。并且也许应该讨论禁用打包功能(例如JPT)的方法。
mwhs 2014年

2
“ JPA项目更改事件处理程序”停滞Eclipse Luna Build 4.4.0的相同问题。如果您不需要JPA工具,@ mwhs解决方案也可以与Luna一起使用(如果您使用的是Hibernate,则安装JBoss Hibernate Tools会更强大​​)
Stefan Haberl 2014年

3
好发现!不幸的是,DALI错误从2012-08-29开始关闭,但是2年后,我在Luna / STS 3.6.1中仍然遇到相同的问题(工作区外部有一个Git存储库)。我没有尝试过您的解决方案,因为我也一直遇到“远程系统资源管理器”减慢的情况(即使我尝试禁用它),所以最后我只安装了Java的普通Eclipse(甚至不是JEE),添加了JST服务器适配器和使用download.eclipse.org/tools/ajdt/44/dev/update扩展,m2e-wtp和AspectJ开发工具 。最后快如闪电。
Arjan 2014年

11
我忘了提一下,该命令move features\org.eclipse.jpt.* disabled\features对我不起作用(在Win7 x64上),我必须手动进行管理。我怀疑这是因为它包含文件夹而不是文件,并且...好吧,让我们说,在编写足够的Windows批处理脚本之后,您可能会开始怀疑这种语言是否实际上是由实验性的Microsoft团队设计的完全由文盲的醉汉黑猩猩和重度多动症组成。或者,您可能想知道为什么Windows NTFS版本没有将OOTB Unix支持添加到命令提示符中。
zpangwin

3
令人惊讶的是,这个问题仍然存在于日食氧气中(2017年9月),您的解决方案为我解决了问题。
迈克尔Vreux

67

不知道为什么,我的Neon Eclipse仍然有这个问题,它似乎并没有像许多人所说的那样在Mars版本中得到修复。

我发现使用命令太麻烦了,我通过Eclipse Installation Manager删除了插件。

霓虹灯:[帮助>安装详细信息>已安装的软件]

氧气:[首选项>安装/更新>已安装的软件]

只需选择插件“ Dali Java Persistence Tools -JPA支持”,然后单击“卸载”即可。请注意,我下面的屏幕没有该屏幕,因为我已经卸载了。

在此处输入图片说明


5
我也删除了“ EclipseLink JPA支持”
Venu Madhav

24

Neon.2中仍然存在相同的问题。我的解决方案是禁用JPA Configurator。

打开Eclipse Preferences(不是项目首选项!)。转到Maven-> Java EE Integration并禁用JPA Configurator。我还禁用了JAX-RS Configurator和JSF Configurator。

从那时起,JPA项目变更事件处理程序不再显示。

如果更改没有立即生效,请重新启动Eclipse。


太好了,谢谢,我仍然在Mac上的Photon 4.8.0中看到此问题,这是唯一适用于我的建议解决方案。
otter606 '18

19

我已禁用(未选中)JPA验证器。

现在,每当我保存文件时,对于JPA项目更改事件处理程序,它仅显示一个任务,对于JPA Java更改事件处理程序,仅显示2或3个任务。

最重要的是,UI Hang问题得以解决。

请参考以下屏幕截图,了解我所做的设置:

在此处输入图片说明


9
太神奇了-我没有选中JPA验证,但是我仍然得到JPA Change Event Handler!
Magick

1
这对我有用。实际上,最好禁用全部,然后仅启用所需的内容。例如,如果您不使用“ Web项目”,则不需要任何类型的jsp *,jsf *,html等。这有助于微调每个模块/项目的验证。节省宝贵的时间-很多。
RafiAlhamd

14

禁用项目的JPA工具还有另一种方法,不需要卸载JPA功能/插件。我在测试https://github.com/Jasig/uPortal至极被中提到的项目https://bugs.eclipse.org/bugs/show_bug.cgi?id=386171并声称有类似的问题:

  1. 切换到Eclipse Projects Explorer视图以查看启用了JPA Facet的项目(应该有“ JPA Content”节点);
  2. 选择具有“ JPA内容”节点的感兴趣的项目,然后从上下文菜单中选择“属性”,或者按Alt + Enter显示该项目的“属性”对话框;
  3. 在带有类别的树中选择“项目构面”节点;
  4. 清除项目构面列表中的JPA复选框,然后按OK。

在为上面的uportal-war项目表单存储库禁用了JPA facet之后,我在Eclipse Progress View中看不到任何与JPA相关的工作。


5
这可能对某些人有用,但对大多数人来说却不起作用。我从所有项目中删除了JPA方面,但仍然遇到了挂断的环境。原因可能与Maven恢复JPA或类似的原因有关,但事实是,即使遵循了这些非常合乎逻辑的步骤,该操作也不起作用。
卡拉巴辛

上述解决方案在Eclipse 2020-03中对我有用。谢谢@dgolovin。
Alfaz Jikani

8

Windows的 mwhs答案进行较小的更正部分的 ...

move命令不适用于。\ features文件夹,因为...好吧,坦率地说,是因为Windows处于延迟状态(您可以在文件上使用带'move'的通配符,但显然通配符+文件夹==可以忽略该命令)。无论如何,这应该可以代替他的答案中为步骤2提供的Windows代码段。

作为批处理文件:

@echo off
set eclipse_dir=C:\eclipse_luna

mkdir disabled
mkdir disabled\features 
mkdir disabled\plugins

move plugins\org.eclipse.jpt.* disabled\plugins
for /f %%i in ('dir "%eclipse_dir%\features\org.eclipse.jpt.*" /ad /b') do (
    move "%eclipse_dir%\features\%%i" "%eclipse_dir%\disabled\features\%%i"
)

2

此外,如果找不到您的蚀目录。因为,在Mac上出现了这样的问题,我们可以记住eclipse使用的是OSGi,因此我们可以转到目标平台并禁用上述功能/插件:org.eclipse.jpt。* 在此处输入图片说明


0

蚀光子的解决方案似乎是:

  1. 打开./eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
  2. 删除以org.eclipse.jpt开头的行(可能只删除org.eclipse.jpt.jpa即可)

0

新的Eclipse似乎可以解决该问题。该插件不适用于Java Enterprise Suite。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.