web-dev-qa-db-de.com

Lombok-Probleme mit Eclipse Oxygen

Ich habe kürzlich ein Upgrade auf die neue Eclipse-Version (Oxygen) durchgeführt. Ich habe die Datei lombok.jar von der Website heruntergeladen und installiert. So funktioniert das Eclipse.ini sieht nach der Installation so aus:

-startup
plugins/org.Eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
C:\Users\xxx\.p2\pool\plugins\org.Eclipse.equinox.launcher.win32.win32.x86_64_1.1.500.v20170531-1133
-product
org.Eclipse.epp.package.jee.product
-showsplash
org.Eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
[email protected]/Eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
-Declipse.p2.max.threads=10
-Doomph.update.url=http://download.Eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.Eclipse.org/c/oomph/org.Eclipse.oomph.git/plain/setups/
-javaagent:lombok.jar

Ich kann Lombok wie folgt benutzen:

pojoclassoutlineinfo

Aber wenn ich die Getter/Setter und/oder Konstruktoren in anderen Klassen benutze, erhalte ich die folgenden Fehler:

codeInfoenter image description here

Dies sind auch meine Eclipse- und Lombok-Versionen:

Eclipse Java EE IDE for Web Developers.
Version: Oxygen Release (4.7.0)
Build id: 20170620-1800
Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/

Weiß jemand, wie ich das beheben kann?

32
Alex P.

Mein env: Java version "1.8.0_144"

Eclipse: Eclipse Java EE IDE für Webentwickler. Version: Oxygen Release (4.7.0) Build-ID: 20170620-1800

  1. Beenden Sie Eclipse (falls es geöffnet ist) und laden Sie jar von https://projectlombok.org/download herunter

  2. befehl ausführen: Java -jar lombok.jar

  3. Dieser Befehl öffnet das hier gezeigte Fenster https://projectlombok.org/setup/Eclipse , installiert und beendet das Installationsprogramm.

  4. Füge jar hinzu, um den Pfad zu erstellen/füge es zu pom.xml hinzu.

  5. starten Sie Eclipse neu.

  6. Gehe zu Eclipse -> Über Eclipse -> überprüfe, ob 'Lombok v1.16.18 "Dancing Elephant" installiert ist. https://projectlombok.org/ '
  7. So aktivieren Sie Lombok für das Projekt: Enable annotation processing In der jeweiligen IDE. Das ist es. Es funktionierte. Ich habe das Eclipse-Init-Skript nicht geändert.

Hinweis: Lesen Sie den Hinweis in der folgenden Abbildung zu -vm-Optionen . Wenn Sie Eclipse mit einem benutzerdefinierten -vm-Parameter starten, müssen Sie Folgendes hinzufügen:

-vmargs -javaagent:<path-to-lombok-jar>/lombok.jar

auch als Parameter

Die obigen Schritte gelten für Photon Release (4.8.0) - Lombok v1.18.2, Eclipse: Oxygen.3a Release (4.7.3a) - Lombok v1.18.0 Und Eclipse: Neon.3 Release (4.6.3) - Lombok v1.18.2

lombok erfolgsbildschirm: enter image description here

65
dkb

Für MacBook Pro Benutzer (zB mit macOs Sierra v10.12.6), um lombok auf Eclipse) zu installieren Oxygen (4.7.0) oder Photon (4.8.0) , mit Java 1.8 (1.8.0_144), führen Sie einfach die folgenden Aktionen aus:

  1. Laden Sie lombok von der Website herunter Project Lombok ;
  2. Schließen Sie Ihre Eclipse IDE wenn es geöffnet ist;
  3. Lösen Sie die lombok Installation aus, indem Sie entweder den offiziellen Installationsschritten folgen oder den Befehl ausführen: Java -jar lombok.jar;
  4. Wenn das lombok Installationsprogramm Ihre Eclipse-IDE nicht findet, werden Sie aufgefordert, den Pfad zu Ihrer Eclipse einzugeben. Sie sollten den Pfad zu Ihrer Eclipse.ini Datei eingeben. In meinem Fall war /tools/ide/Eclipse/jee-oxygen/Eclipse.app/Contents/Eclipse/eclipse.ini.
  5. Beenden Sie das Installationsprogramm und öffnen Sie Eclipse.
  6. Gehen Sie in der Menüleiste zu Eclipse> About Eclipse und überprüfen Sie, ob lombok installiert ist:

    Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/
    

    Stellen Sie sicher, dass Sie das Textfenster nach unten scrollen, da die installierte Lombok-Version im Text über der Reihe der Symbole angezeigt wird.

  7. Fügen Sie schließlich lombok zum Erstellungspfad Ihres Projekts hinzu, je nachdem, welches Erstellungswerkzeug Sie verwenden. Verwenden Sie für Maven beispielsweise die folgende Abhängigkeit:

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
        <scope>provided</scope>
    </dependency>
    
23
aribeiro

Hatte Probleme mit Eclipse Oxygen, Java 1.9 und Lombok (unter Mac OSX - Windows/Linux sollte ähnlich sein).

Das musste ich tun:

  1. Laden Sie die neuesten lombok: 1.16.20
  2. Öffnen Sie Eclipse, suchen Sie nach Updates und installieren Sie alle. Stellen Sie sicher, dass Eclipse auf den neuesten Stand gebracht wurde.
  3. Beenden Sie Eclipse.
  4. Java -jar lombok.jar
  5. Stellen Sie sicher, dass der Speicherort für Eclipse im angezeigten Installationsfenster korrekt ist. Ich musste Folgendes explizit angeben: /[some-folder-heirarchy]/Eclipse.app/Contents/Eclipse/eclipse.ini

Überprüfen Sie anschließend, ob die Aktualisierungen in Eclipse.ini angekommen sind:

-javaagent:/[some_folder-hierarchy]/Eclipse-oxygen/Eclipse.app/Contents/Eclipse/lombok.jar

Es gibt nur eine Zeile, die aktualisiert wird. Dies ist eine Änderung gegenüber einigen früheren Versionen von lombok, in denen auch ein bootclasspath angegeben wurde, und/oder dem Pfad zu lombok.jar war relativ. Jetzt ist es ein absoluter Weg.

Wenn Sie Eclipse aufrufen, werden Sie Lombok in Aktion sehen.

Und vergessen Sie nicht, dieselbe Lombok -Version in Ihrem maven oder einem anderen Abhängigkeitsverwaltungstool zu verwenden.

Edit 1: Ich habe auch eine andere Version von Lombok im maven POM von dem, der in Eclipse installiert ist, und zum größten Teil wurden die Dinge kompiliert, aber es gab ein paar Kompilierungsfehler in Eclipse. Natürlich wurden die Dinge in der Befehlszeile mit maven erfolgreich kompiliert. Wenn Sie also Projektabhängigkeiten haben, die Sie dazu zwingen, verschiedene Lombok-Versionen zu verwenden, müssen Sie sich einer solchen Möglichkeit bewusst sein. Der springende Punkt ist, dass in Eclipse und im Abhängigkeitsmanagement Ihres Projekts (maven usw.) dieselbe Version installiert ist.

7
Khanna111

Verwenden Sie keine alten Java-Versionen.

Was passiert ist, dass lombok die folgende Zeile in Ihre Eclipse.ini einfügt:

-javaagent: lombok.jar

Und lombok.jar ist in der C:\Eclipse\jee-oxygen\Eclipse Verzeichnis

Das Problem ist, dass die von der Windows-Installation erstellte Verknüpfung folgendermaßen aussieht:

enter image description here

Füllen Sie den Pfad "Start at" aus und es wird funktionieren:

enter image description here

5

Ich hatte genau das gleiche Problem mit Alex. Meine Eclipse-Version ist

Version: Oxygen.1a Release (4.7.1a) Build-ID: 20171005-1200

Ich habe lombok 1.16.18 installiert, nachdem ich überprüft hatte, dass es bereits installiert war und auch die JavaAgent-Zeile meiner Eclipse.ini-Datei hinzugefügt wurde.

Alles war in Ordnung, außer dass es Kompilierungsfehler gibt, bei denen Getter im Projekt aufgerufen wird. Es ist umständlich, aber ich habe Folgendes behoben:

  1. Reinigungsprojekt

  2. Bauprojekt

  3. Starten Sie Eclipse einige Male neu

Nichts anderes.

4
keichee

Lösung:

  1. Installieren Sie lombok 1.16.18 gemäß den Anweisungen auf der lombok-Website. Es ist besser, wenn Eclipse während der Installation in der Nähe ist.

  2. Stellen Sie sicher, dass Eclipse ordnungsgemäß gestartet werden kann. Ändern Sie auf der Verknüpfung die Eigenschaften, und geben Sie den Pfad "Start in" ein. Dies funktioniert wie von Thomas und Fabiano angegeben.

  3. Sobald Eclipse geöffnet ist, aktualisieren Sie Maven im Projekt, um Kompilierungsfehler zu beheben.

  4. Die neueste Version von Lombok funktioniert jetzt mit der neuesten Version von Eclipse.

Als Referenz:

Meine Sonnenfinsternis: Sauerstoff

Version: Oxygen.2 Release (4.7.2)
Build id: 20171218-0600 

My JRE/JDK: 1.8

Java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

lombok 1.16.18

4
Michael Qin

Für Linux/Ubuntu-Benutzer, die Eclipse von einem Launcher (einer .desktop-Datei) aus starten, der für Ihren Launcher gesperrt ist, und in Ihrem Dialogfeld Hilfe -> Info wird nicht angezeigt, dass Lombok installiert ist:

  1. Schließen Sie Eclipse
  2. Schalte Eclipse von deinem Launcher aus frei
  3. Starten Sie Eclipse aus der .desktop-Anwendung
  4. Vergewissern Sie sich, dass "Hilfe -> Info" anzeigt, dass lombok installiert ist (Bildlauf nach unten).
  5. Sichern Sie sich erneut Ihren Launcher

Es scheint, dass dies aufgrund eines Problems mit der "Sperre für den Starter" von Anwendungen funktioniert, und es ist der Entsperr-/Sperrprozess, der das Problem behebt.

(Danke an cardamon 's Kommentar hier , der mich auf diese Lösung hingewiesen hat)

3
Krease

Ich hatte das gleiche Problem, allerdings wurde die ursprüngliche Entwicklung mit lombok 1.16.10 durchgeführt und ich hatte 1.16.18 installiert. Als ich 1.16.10 heruntergeladen und installiert habe, hat alles funktioniert. Wahrscheinlich musste ich ein paar Bereinigungen und Neuerstellungen vornehmen, damit es mit .18 funktioniert, aber wenn Sie es eilig haben, versuchen Sie es.

2
Chris C

Lombok funktioniert nicht für Eclipse Neon

 - You should not just "restart" Eclipse, go to File -> Exit and then
   open it again.
 - Don't forget to do a mvn clean just to make sure that you recompiled your classes. 
 - After all this you should also right-click on your project, then Maven -> Update Project
2
Snehal Masne

Hatte auch Probleme mit Lombok in Eclipse Sauerstoff.

Meine Lösung: zurückgegeben von Java Version 8u144 bis 8u141.

Und ich beziehe mich auf lombok, indem ich dies zu meiner Eclipse.ini hinzufüge:

-Xbootclasspath/c: /DEV/Tools/lombok-1.16.18/lombok.jar

-javaagent: /DEV/Tools/lombok-1.16.18/lombok.jar

1
Remon de Klerk

Hatte ähnliche Probleme, kann mich aber nicht erinnern, was mir geholfen hat. Natürlich können Sie versuchen, Eclipse neu zu starten. Stellen Sie sicher, dass Sie den korrekten Eclipse-Pfad in der lombok-Installation angegeben haben. Das ist das Thema, zu dem Sie andere mögliche Lösungen finden können: Project Lombok kann nicht in Eclipse (Helios) funktionieren

1
Michał Lis

Wenn ein Neustart von Eclipse nicht hilft. Sie müssen die Anwendung beenden und sicherstellen, dass alle laufenden Java Prozesse beendet werden. Das hat bei mir funktioniert.

(Eclipse Oxygen 4.7.1a, OpenJDK 1.8.0_151-b12)

1
deniss-s

Nicht wenige Lösungen, keine hat mein Problem gelöst.

Eclipse Oxygen 3a April 2018 der Installer funktioniert gut,

Mein Problem bestand darin, Eclipse auf einer DCEVM-JRE auszuführen. Das Zeigen von Eclipse auf eine nicht geänderte JVM löste dieses Problem.

1
Marc Magon

Ich benutze STS. Führen Sie nach der Installation von lombok.jar die folgenden Schritte aus. STS -> Projekt -> Eigenschaften -> Java Compiler -> Anmerkungsverarbeitung -> Anmerkungsverarbeitung aktivieren. Siehe hier

0
Maitree Shah