Eclipse JPA Project Change Event Handler (wartet)

136

Warum erhalte ich "JPA Project Change Event Handler (Warten)", wenn ich versuche, mein Projekt zu erstellen?

Ich habe einige JPA-Projekte in meinem Arbeitsbereich und das Erstellen meines Projekts nimmt viel Zeit in Anspruch. Dies führt auch zu einer GC-Überschreitung mit 6 GB Heap-Speicherplatz, der der Sonnenfinsternis zugewiesen wird

Ich benutze derzeit Kepler. Dieses Problem trat in Helios nicht auf.

Es gibt einige BugZilla-Einträge für den obigen Fehler, aber ich kann sie behoben sehen. Aber nicht verfügbar in 4.3.1?

Irgendwelche Lösungen / Problemumgehungen für das oben genannte Problem?

Vielen Dank

Surendran Duraisamy
quelle
1
Ich sehe das auch in Luna.
HDave
1
Es passiert mir auch in Mars 2
JuanN
2
Auf derselben Maschine, für mich in Neon, aber nicht auf dem Mars ...
Bob Yoplait
1
Passiert in Neon.2 und verwendet nicht einmal JPA.
Ed Randall
2
Es ist auch in 2020-03 da
Vishnudev K

Antworten:

165

Ich hatte das gleiche Problem und stellte schließlich fest, dass dies ein bekannter Fehler in DALI (Eclipse Java Persistence Tools) seit mindestens Eclipse 3.8 zu sein scheint, der dazu führen kann, dass die Speicheraktion im Java-Editor extrem langsam ist .

Da dies in Kepler (20130614-0229) noch nicht vollständig behoben wurde und ich JPT / DALI in meiner Eclipse nicht benötige, habe ich die org.eclipse.jptFunktionen und Plugins manuell entfernt .

Was ich getan habe war:

1.) Eclipse beenden

2.) Gehe in mein Eclipse-Installationsverzeichnis

cd eclipse

und führen Sie die folgenden Schritte aus:

* nix:

mkdir disabled
mkdir disabled/features disabled/plugins

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

Fenster:

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.) Starten Sie Eclipse neu.

Nach dem Start und bei der ersten Verwendung kann Eclipse Sie warnen, dass Sie Ihren Content-Assist neu konfigurieren müssen . Tun Sie dies in Ihrem Einstellungsdialog.

Getan.

Nach der Deinstallation von DALI / JPT fühlt sich meine Sonnenfinsternis wieder gut an. Keine blockierte Benutzeroberfläche mehr und Warten auf Sekunden beim Speichern einer Datei.

mwhs
quelle
9
Nebenbei bemerkt: Das Eclipse-Team sollte wahrscheinlich versuchen, eine Diskussion über die Anzahl der in einer Version enthaltenen und nicht abwählbaren Funktionen / Projekte zu eröffnen. Und es sollte möglicherweise Möglichkeiten zum Deaktivieren gepackter Funktionen (z. B. JPT) erörtert werden.
mwhs
2
Gleiches Problem mit dem Blockieren von Eclipse Luna Build 4.4.0 durch 'JPA Project Change Event Handler'. @mwhs Lösung funktioniert auch mit Luna, wenn Sie die JPA-Tools nicht benötigen (installieren Sie stattdessen JBoss Hibernate Tools, die ohnehin weitaus leistungsfähiger sind, wenn Sie mit Hibernate arbeiten)
Stefan Haberl
3
Schöner Fund! Leider ist der DALI-Fehler seit dem 29.08.2012 geschlossen, aber 2 Jahre später hatte ich immer noch die gleichen Probleme in Luna / STS 3.6.1 (mit einem Git-Repo außerhalb des Arbeitsbereichs). Ich habe Ihre Lösung nicht ausprobiert, da ich auch immer wieder auf Verlangsamungen des Remote-System-Explorers stieß (obwohl ich versucht habe, diese zu deaktivieren). Am Ende habe ich nur eine Vanille-Eclipse für Java (nicht einmal JEE) installiert und JST Server Adapters & hinzugefügt Erweiterungen, m2e-wtp und AspectJ-Entwicklungstools mit download.eclipse.org/tools/ajdt/44/dev/update . Endlich blitzschnell.
Arjan
11
Ich habe vergessen zu erwähnen, dass der Befehl move features\org.eclipse.jpt.* disabled\featuresbei mir (unter Win7 x64) nicht funktioniert hat und ich diese manuell verwalten musste. Ich vermute, das liegt daran, dass dies Ordner anstelle von Dateien enthält und ... Nun, sagen wir einfach, nachdem Sie genügend Windows-Batch-Skripte geschrieben haben, werden Sie sich wahrscheinlich fragen, ob die Sprache tatsächlich von einem experimentellen Microsoft-Team entwickelt wurde besteht ausschließlich aus Analphabeten betrunkener Schimpansen mit schwerem ADHS. Oder Sie fragen sich vielleicht, warum die OOTB Unix-Unterstützung bei den NTFS-Versionen von Windows nicht zur Eingabeaufforderung hinzugefügt wurde.
Zpangwin
3
Erstaunlicherweise besteht dieses Problem immer noch in der Sonnenfinsternis (September 2017), und Ihre Lösung hat den Trick für mich getan.
Michaël Vreux
67

Ich weiß nicht warum, meine Neon Eclipse hat immer noch dieses Problem, es scheint nicht in der Mars-Version behoben zu sein, wie viele Leute sagten.

Ich fand, dass die Verwendung des Befehls zu mühsam ist. Ich lösche das Plugin über den Eclipse Installation Manager.

Neon: [Hilfe> Installationsdetails> Installierte Software]

Sauerstoff: [Einstellungen> Installieren / Aktualisieren> Installierte Software]

Wählen Sie einfach das Plugin "Dali Java Persistence Tools - JPA-Unterstützung" und klicken Sie auf "Deinstallieren". Bitte beachten Sie, dass mein Bildschirm unten dies nicht hat, da ich es bereits deinstalliert habe.

Geben Sie hier die Bildbeschreibung ein

GMsoF
quelle
5
Ich habe auch "EclipseLink JPA Support" entfernt
Venu Madhav
24

Ich habe immer noch das gleiche Problem in Neon.2. Meine Lösung besteht darin, den JPA-Konfigurator zu deaktivieren.

Öffnen Sie die Eclipse-Einstellungen (nicht die Projekteinstellungen!). Gehen Sie zu Maven -> Java EE Integration und deaktivieren Sie den JPA-Konfigurator. Ich habe auch den JAX-RS-Konfigurator und den JSF-Konfigurator deaktiviert.

Ab diesem Zeitpunkt wird der JPA Project Change Event Handler nicht mehr angezeigt.

Starten Sie Eclipse neu, wenn die Änderung nicht sofort wirksam wird.

M46
quelle
Großartig, danke, ich habe dieses Problem immer noch in Photon 4.8.0 auf dem Mac gesehen und dies ist die einzige vorgeschlagene Lösung, die für mich funktioniert.
Otter606
19

Ich habe den JPA-Validator deaktiviert (deaktiviert).

Wenn ich die Datei jetzt speichere, wird nur eine Aufgabe für den JPA Project Change Event Handler und nur 2 oder 3 für den JPA Java Change Event Handler angezeigt.

Und am wichtigsten ist, dass das Problem mit dem UI-Hang behoben ist.

Die Einstellung, die ich vorgenommen habe, finden Sie im folgenden Screenshot:

Geben Sie hier die Bildbeschreibung ein

Anil Bharadia
quelle
9
Erstaunlich - Ich habe die JPA-Validierung deaktiviert, erhalte aber trotzdem den JPA Change Event Handler!
Magick
1
Das hat bei mir funktioniert. In der Tat ist es besser, ALLE zu deaktivieren und NUR das zu aktivieren, was erforderlich ist. Wenn Sie beispielsweise nicht mit 'Webprojekten' arbeiten, benötigen Sie keine JSP *, JSF *, HTML usw. Dies hat dazu beigetragen, die Validierung für jedes Modul / Projekt zu optimieren. Kostbare Zeit sparen - viel.
RafiAlhamd
14

Es gibt eine andere Möglichkeit, JPA-Tools für das Projekt zu deaktivieren, bei der JPA-Funktionen / Plug-Ins nicht deinstalliert werden müssen. Ich habe auf https://github.com/Jasig/uPortal-Projekt getestet , das in https://bugs.eclipse.org/bugs/show_bug.cgi?id=386171 erwähnt wurde, und behauptet, ähnliche Probleme zu haben:

  1. Wechseln Sie zur Eclipse Projects Explorer-Ansicht, um die Projekte mit aktivierter JPA-Facette anzuzeigen (es sollte den Knoten "JPA-Inhalt" geben).
  2. Wählen Sie das gewünschte Projekt mit dem Knoten "JPA-Inhalt" aus und wählen Sie Eigenschaften aus dem Kontextmenü oder drücken Sie Alt + Eingabetaste, um das Dialogfeld Eigenschaften für das Projekt anzuzeigen.
  3. Wählen Sie den Knoten "Projektfacetten" im Baum mit Kategorien aus.
  4. Deaktivieren Sie das Kontrollkästchen JPA in der Liste der Projektfacetten und drücken Sie OK.

Nach dem Deaktivieren der JPA-Facette für das Uportal-War-Projektformular-Repository oben werden in der Eclipse-Fortschrittsansicht keine JPA-bezogenen Jobs angezeigt.

Dgolovin
quelle
5
Dies mag für einige funktionieren, aber für die meisten Menschen wird es nicht funktionieren. Ich habe die JPA-Facette aus allen meinen Projekten entfernt, aber ich habe immer noch eine aufgehängte Umgebung. Der Grund könnte damit zusammenhängen, dass Maven JPA oder ähnliches wiederherstellt, aber Tatsache ist, dass dies auch nach Befolgen dieser sehr logischen Schritte nicht funktioniert.
Calabacin
Die obige Lösung hat bei mir in Eclipse 2020-03 funktioniert. Danke @dgolovin.
Alfaz Jikani
8

geringfügige Korrektur der Antwort von mwhs für den Windows- Teil ...

Der Befehl move funktioniert nicht für den Ordner. \ Features, weil ... nun, ehrlich gesagt, weil Windows verzögert ist (Sie können Platzhalter mit 'move' für Dateien verwenden, aber anscheinend ignorieren Platzhalter + Ordner == den Befehl). Auf jeden Fall sollte dies als Alternative zu dem Windows-Snippet funktionieren, das in seiner Antwort für Schritt 2 bereitgestellt wurde.

als Batch-Datei:

@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"
)
zpangwin
quelle
2

Auch wenn Sie Ihr Eclipse-Verzeichnis nicht finden können. Da ich auf dem Mac ein solches Problem hatte, können wir uns daran erinnern, dass Eclipse OSGi verwendet, sodass wir zur Zielplattform gehen und die oben beschriebenen Funktionen / Plugins deaktivieren können: org.eclipse.jpt. * Geben Sie hier die Bildbeschreibung ein

Igor Masternoy
quelle
0

Die Lösung für das Eclipse-Photon scheint zu sein:

  1. Öffnen Sie ./eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
  2. Löschen Sie die Zeilen, die mit org.eclipse.jpt beginnen (möglicherweise wird nur org.eclipse.jpt.jpa entfernt)
Olard
quelle
0

Das Problem scheint mit der neuen Eclipse gelöst zu sein. Das Plugin ist in der Java Enterprise Suite nicht verfügbar.

ha9u63ar
quelle