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

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

我的工作空间中有一些 JPA 项目,构建我的项目需要很多时间。它还会导致 GC 超出限制,将6GB 的堆空间分配给 eclipse

我目前正在使用开普勒。这个问题没有发生在 Helios。

上面的 bug 有一些 BugZilla 条目,但是我可以看到它们被修复了,但是在4.3.1中不可用?

对于上述问题有什么解决方案/变通办法吗?

谢谢

137291 次浏览

我也遇到了同样的问题,最后我发现这看起来像是 DALI 的一个已知的窃听器(Eclipse Java 持久性工具) ,因为至少 Eclipse 3.8可能会导致 在 java 编辑器中保存动作会非常慢

由于这个问题在开普勒(20130614-0229)中还没有完全解决,而且因为我在 Eclipse 中不需要 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 可能会警告您需要 重新配置您的内容辅助。在首选项对话框中执行此操作。

成交。

卸载 DALI/JPT 之后,我的 Eclipse 感觉又好了。不再有阻塞的 UI 和保存文件时等待几秒钟。

< em > windows 部分的回答稍作修正..。

控件的 move 命令不起作用。因为... 好吧,坦率地说,因为 Windows 是迟钝的(你可以使用通配符’移动’文件,但显然通配符 + 文件夹 = = 忽略命令)。无论如何,这应该可以替代他的答案中步骤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"
)

还有另一种方法可以为项目禁用 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 Content”节点的感兴趣的项目,从上下文菜单中选择 Properties,或者按 Alt + Enter 显示项目的 Properties 对话框;
  3. 选取树状分类中的「专题小方面」节点;
  4. 清除项目方面列表中的 JPA 复选框并按 OK。

在禁用了上面的 utal-war 项目存储库的 JPA facet 之后,我在 Eclipse Progress View 中没有看到任何与 JPA 相关的作业。

不知道为什么,我的霓虹日食仍然有这个问题,它似乎不像很多人说的火星版固定。

我发现使用命令太麻烦了,我通过 Eclipse 安装管理器删除了插件。

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

氧气: [参数 > 安装/更新 > 已安装软件]

只要选择插件“ Dali Java 持久化工具-JPA 支持”,然后点击“卸载”就可以了。请注意,我的屏幕下面没有,因为我已经卸载。

enter image description here

我已经禁用(未检查) JPA 验证器。

现在,每当我保存这个文件时,它只为 JPA Project Change Event Handler 显示一个任务,为 JPA Java Change Event Handler 显示2或3个任务。

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

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

enter image description here

我仍然有同样的问题在霓虹灯。2 我的解决方案是禁用 JPA 配置器。

打开 Eclipse 首选项(不是项目首选项!).转到 Maven —— > JavaEE 集成并禁用 JPA 配置器。我还禁用了 JAX-RS 配置器和 JSF 配置器。

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

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

还有,如果你找不到你的日食指南。因为,我在 Mac 上遇到过这样的问题,我们可以记得 eclipse.jpt 是使用 OSGi 的,所以我们可以访问 Target Platform 并禁用上面描述的特性/插件: org.eclipse.jpt。* enter image description here

日食光子的解决方案似乎是:

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

这个问题似乎已经通过新的 Eclipse 得到了解决。

这个问题最初是在7年前提出的... ... 所以让我给出一个非常稳定的答案。

我正在使用 eclipse2021-09(是的. . 几天前刚发布的那个)

关闭 JPA 项目更改事件处理程序(等待)

  1. 确保 eclise 的实例没有在运行

  2. 转到 < strong > [ InstallationDirectory ] eclipse 配置 org.eclipse.equinox.impleeconfigurator

  3. 编辑 Bundles.info使用记事本 + + 或文字记事本或记事本的方式

  4. 您必须删除具有 org.[ something ] . jpa (对不起,我不记得确切的名称: P)的行并保存文件。

  5. 启动 Eclipse 就可以了,您将不会在 Eclipse 的控制台中看到那些麻烦的 “ JPA 项目更改事件处理程序(等待)”消息。

这对我很有用。 Eclipse 2021-09。你必须删除包含 jpa 的所有行。