Project Lombok kann nicht auf Eclipse ausgeführt werden


69

Ich habe das Tutorial hier gefolgt http://projectlombok.org/

aber nach dem Hinzufügen von Import und @Datanichts passiert.

Funktioniert es auf Eclipse-Helios?


Wenn Sie bereits andere Methoden ausprobiert haben, diese jedoch immer noch nicht funktionieren, können Sie diese Antwort ausprobieren . Ich habe es behoben, nachdem ich Stunden damit verbracht hatte, Nachforschungen
anzustellen

Antworten:


69

Hast du hinzugefügt

-vmargs
...
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar

zu deiner eclipse.ini ?

Denn wenn Sie haben (und wenn Sie die lombok.jar zu den von Ihrem Projekt verwendeten Bibliotheken hinzugefügt haben), funktioniert es gut mit Eclipse Helios:

Alt-Text


Ian Tegebo erwähnt in den Kommentaren, dass:

Ein einfacher "Neustart" reichte nicht aus, um die geänderten vmargs aufzunehmen:
Ich musste explizit beenden und dann erneut starten .


chrisjleu erwähnt in den Kommentaren :

Wenn Sie zufällig eine angepasste Eclipse Helios (3.6+) -Distribution ausführen, müssen Sie möglicherweise lombok.jarin beiden vmArgumenten den vollständigen Pfad zu verwenden .
Weitere Informationen finden Sie unter Festschreiben b47e87f .

boolean fullPathRequired = IdeFinder.getOS() == EclipseFinder.OS.UNIX || System.getProperty("lombok.installer.fullpath") != null;

18
FWIW, ein einfacher "Neustart" reichte nicht aus, um die geänderten vmargs aufzunehmen: Ich musste explizit beenden und dann erneut starten.
Ian Tegebo

Aus der Antwort unten habe ich den Verweis auf diese Antwort entfernt und den Inhalt von eclipse.ini eingefügt, um eine eigenständige Antwort bereitzustellen. Danke VonC.
Roel Spilker

@IanTegebo Deine Antwort war die Lösung für mich! Sie sollten es als richtige Antwort posten! Vielen Dank!
Clint Eastwood

@ Jonathan Ich habe Ians Kommentar in die Antwort aufgenommen, um mehr Sichtbarkeit zu erreichen.
VonC

Hat bei mir nicht funktioniert, ohne die .jar-Datei auszuführen (wie in einer anderen Antwort angegeben).
Brian White

125

Sie müssen lombok.jar nicht nur zu den Bibliotheken hinzufügen, sondern es auch installieren, indem Sie entweder auf das lombok-Glas doppelklicken oder über die Befehlszeile ausführen java -jar lombok.jar. Das zeigt Ihnen einen schönen Installationsbildschirm. Wählen Sie Ihre Eclipse-Installation aus und installieren Sie sie.

Anschließend können Sie überprüfen, ob das Installationsprogramm Ihre eclipse.ini korrekt geändert hat:

-vmargs
...
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar

Wenn Ihre Eclipse bereits ausgeführt wurde, müssen Sie Eclipse beenden und erneut starten. (Datei / Neustart ist nicht genug)

Wenn Sie Eclipse über eine Verknüpfung starten, stellen Sie sicher, dass entweder keine Befehlszeilenargumente eingegeben wurden, oder fügen Sie sie manuell -javaagent:lombok.jar -Xbootclasspath/a:lombok.jarirgendwo hinzu -vmargs.

Neuere Ausgaben von Lombok fügen dem Bildschirm "Über Eclipse" auch eine Zeile hinzu. Wenn Lombok aktiv ist, finden Sie eine Zeile wie 'Lombok v0.11.6 "Dashing Kakapo" ist installiert. http://projectlombok.org/ 'direkt über der Schaltflächenreihe.

Wenn Sie aus irgendeinem Grund, normalerweise im Zusammenhang mit benutzerdefinierten Eclipse-Builds, den vollständigen Pfad verwenden müssen, können Sie das Installationsprogramm in der Befehlszeile anweisen, dies zu tun:

java -Dlombok.installer.fullpath -jar lombok.jar


Warum ist das bei Lombok so?
Pureferret

Entschuldigung, ich verstehe Ihre Frage nicht. Was willst du genau wissen?
Roel Spilker

Vielen Dank. Das manuelle Hinzufügen der Parameter -vmargs reichte mir nicht aus. Eclipse würde kurz das Begrüßungsfenster anzeigen und beenden. Ich musste das ausführen /path/to/java/java.exe -jar lombok.jarund ihm mitteilen, wo Eclipse installiert war, bevor es funktionierte. Zusätzlich zu allem, was es sonst noch tat, fügte es diese Parameter am Ende meiner Datei eclipse.ini hinzu und dann funktionierte das Starten von Eclipse einwandfrei.
Brian White

2
Wenn Sie zufällig eine angepasste Eclipse Helios-Distribution ausführen, müssen Sie möglicherweise den vollständigen Pfad zu lombok.jar in beiden vm-Argumenten verwenden. Es gibt eine Möglichkeit, dies mit dem Installationsprogramm zu tun, indem Sie es wie folgt ausführen : java -Dlombok.installer.fullpath -jar lombok.jar. Sehen Sie hier für weitere Details.
Chrisjleu

3
Ich war verwirrt, nachdem ich mehrmals neu gestartet hatte und die Projekte immer noch kaputt waren. Muss nur Project-> Clean ausführen.
Nate Glenn

47

Nach dem Hinzufügen von Lombok und dem Neustart von Eclipse- oder Spring-Tools konnte mein Projekt Getter und Setter immer noch nicht erkennen. Rote Markierungen überall!

Die Lösung: Klicken Sie mit der rechten Maustaste auf Ihr Projekt, gehen Sie zu Maven und wählen Sie Projekt aktualisieren

Nach stundenlangem Suchen und Ausprobieren einer zufälligen Lösung finde ich, dass dies die einzige Lösung ist, die für mich funktioniert hat.

Geben Sie hier die Bildbeschreibung ein


3
Ich musste etwas Ähnliches mit einem Gradle-Projekt machen: Gradle> Alle aktualisieren
Justin Lewis

21

Bitte befolgen Sie die folgenden Schritte: - Wenn Lombok-Jar bereits als Abhängigkeit in Eclipse hinzugefügt wurde, gehen Sie zu project's lib folder > Locate Lombok.xx.jar > Right Click on Jar> Run as Java Application> This will launch Lombok screen as below: - Geben Sie hier die Bildbeschreibung ein

Klicken Sie anschließend auf "Specify location" > And specify location of "Eclipse.ini" file.(Eclipse neon on Mac osX has it at -> "<Eclipse_installation_path>/jee-neon/Eclipse.app/Contents/Eclipse/Eclipse.ini").

Starten Sie danach Eclipse und Clean Build Project neu.

Das hat bei mir funktioniert.


Vielen Dank, dass dies auf Eclipse 4.15
Sunil

6

Vergessen Sie nicht, Project-> Clean in Eclipse auszuführen, um sicherzustellen, dass Ihre Klassen neu kompiliert werden.


5

Ich kann diese Funktion nur ausführen, wenn ich die Datei eclipse.exe direkt im Installationsordner von eclipse starte. Wenn ich eine Befehlsdatei verwende, die vor dem Ausführen der Datei eclipse.exe einige anfängliche JAVA_HOME- und Maven-Parameter festlegt, funktioniert dies nicht und ich erhalte Compilerfehler bei genau denselben Projekten


Dies liegt daran, dass der Verweis auf die Datei lombok.jar relativ zum aktuellen Arbeitsverzeichnis ist. Wenn Sie Eclipse von einem anderen Pfad aus starten, müssen Sie die Argumente in absolute Pfade wie-javaagent:c:/eclipse/lombok.jar
Maddin

3

Denken Sie daran, lombok.jarals Java-App ausgeführt zu werden. Wenn Sie Windows 7 verwenden, öffnen Sie eine Konsole (cmd.exe) als C:"your java instalation"\ java -jar "lombok directory"\lombok.jar Administrator.


3

Ich bin auf dieses Problem gestoßen, weil es fehlte:

-vmargs -javaagent: lombok.jar -Xbootclasspath / a: lombok.jar

auch. Was weder hier noch in der Lombok-Popup-Nachricht explizit gesagt wird und für mich als jemanden, der noch nie mit der eclipse.ini herumspielen musste, nicht offensichtlich war, ist, dass Sie diese Zeile NICHT hinzufügen sollen, sondern stattdessen die letzte zwei Teile dieser Zeile nach dem ersten Teil, der sich bereits in der Datei eclipse.ini befindet. Zur besseren Veranschaulichung sollte das Ende der Datei ungefähr so ​​aussehen (fett ist für Lombok wichtig, der Rest könnte für Sie anders sein):

-vm
C: / Programme / Java / jdk1.7.0_02 / bin
-vmargs
-Dosgi.requiredJavaVersion = 1.5
-Xms40m
-Xmx384m
-javaagent: lombok.jar
-Xbootclasspath / a: lombok.jar


3

Dies funktioniert manchmal nicht, wenn sich Eclipse in einem dieser seltsamen Standardfensterpfade befindet (z c:/Program files (86)/Eclipse. B. ).

In diesem Fall gehen Sie wie oben beschrieben vor, verschieben Sie das Lombok-Glas auf einen saubereren Pfad ohne Leerzeichen und Klammern (z. B. c:\lombok\lombok.jar) und ändern Sie die Datei eclipse.ini entsprechend.


2

Wenn Sie Windows XP und Eclipse Juno verwenden, sollte dies der Reihe nach so sein

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
-Xms40m
-Xmx512m

2

Ich konnte lombok.jar aufgrund der Java-Version nicht auf meinem MacBook Pro installieren. Ich musste ein Downgrade auf Java 1.6 durchführen, um es zu installieren, und dann habe ich Java 1.7 wiederverwendet, als die Installation funktionierte!

Sie können die verschiedenen auf Ihrem Computer installierten JVM hier sehen: / System / Library / Java / JavaVirtualMachines


2
  1. Kopieren Sie das Lombok-Glas in Ihren Eclipse-basierten IDE-Installationsordner (Eclipse / STS usw.)

    • Beachten Sie, dass der Installationsordner der Ordner ist, in dem sich die .iniDatei für Ihre IDE befindet
    • Wenn Sie Maven verwenden, um das Glas einzuziehen, holen Sie es aus Ihrem m2Repository
    • cp ~/.m2/repository/projectlombork/lombork-1.x.jar /path/to/IDE/lombok.jar
  2. Bearbeiten Sie die .iniDatei im Installationsordner Ihrer IDE und fügen Sie die folgenden Zeilen hinzu -vmargs.

    • -javaagent:lombok.jar -Xbootclasspath/a:lombok.jar
    • Beachten Sie, dass sich das Glas im selben Ordner wie die .iniDatei und der Name des Glases befinden solltenlombok.jar
  3. Starten Sie Ihre IDE neu und erstellen / aktualisieren Sie Ihr Projekt neu


2

Ich hatte ein ähnliches Problem mit dem MacBook Pro. Ich bin nur dem folgenden Link gefolgt und das Problem wurde behoben. https://projectlombok.org/setup/eclipse

Schritte folgten: -

  • Laden Sie die Datei lombok.jar herunter
  • Doppelklicken Sie auf dieses Glas
  • Diese JAR-Datei versucht, die auf dem Computer installierte Eclipse zu finden. In meinem Fall konnte sie die Eclipse jedoch nicht identifizieren, obwohl ich sie installiert habe. Dies kann an einem Softlink zum Eclipse-Pfad liegen.
  • Ich habe gerade den Speicherort der Eclipse-INI-Datei angegeben, indem ich auf die Schaltfläche "Speicherort angeben" geklickt habe
  • Dieses JAR hat den Eintrag in der Datei eclipse.ini für Javaagent automatisch aktualisiert
    • Ich habe das gleiche Glas zum Klassenpfad des Projekts in der Eclipse hinzugefügt
    • Meine Sonnenfinsternis neu gestartet

Ich hatte das gleiche Problem mit Windows-10 + JBoss Developer Studio-8.1.0.GA. Genau die gleichen Schritte wie von Dwarak erwähnt haben für mich funktioniert. Da ich ein Maven-Projekt in jbdevstudio importieren ließ, musste ich im letzten Schritt Maven -> Projekt aktualisieren als zusätzlichen Schritt ausführen. Ich bemerkte, dass nach Änderungen, die automatisch vorgenommen wurden, die Datei lombok.jar in den Ordner * \ jbdevstudio \ studio \ kopiert wurde. Die Datei * \ jbdevstudio \ studio \ jbdevstudio.ini wurde geändert und eine neue Zeile wie unten als letzte Zeile hinzugefügt. "-javaagent: * \ jbdevstudio \ studio \ lombok.jar"
nirmalsingh

2

Dies ist für die Einrichtung von Lombok in Spring Tool Suite. Hier ist, was ich in der Spring Tool Suite (sts-4.4.0.RELEASE) und lombok-1.18.10.jar (aktuelle neueste Version im Mavenrepository verfügbar) gemacht habe.

  1. Wenn Sie ein Maven-Projekt haben, stellen Sie sicher, dass die Lombok-Abhängigkeit hinzugefügt wurde. Andernfalls müssen Sie das JAR manuell zu Ihrem Projektklassenpfad hinzufügen.

    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> <scope>provided</scope> </dependency>

  2. Erstellen Sie die Maven-Anwendung sauber. Dadurch wird lombok jar standardmäßig an Ihrem .m2-Speicherort aus dem Maven-Repository heruntergeladen. Der Weg wäreorg\projectlombok\lombok\1.18.10\

  3. Öffnen Sie nun die Eingabeaufforderung, navigieren Sie zum Lombok-Pfad und führen Sie den Befehl aus java -jar lombok-1.18.10.jar

    C:\xxx\xxx\org\projectlombok\lombok\1.18.10>java -jar lombok-1.18.10.jar

  4. Öffnet das Lombok-Dialogfeld. Wenn die Meldung Can't find IDE angezeigt wird Klicken Sie auf Specify location... Geben Sie den Pfad zu Ihrem STS-Stammspeicherort an

    Mein Fall ist es C:\apps\sts-4.4.0.RELEASE\SpringToolSuite.exe

    Install/Update

  5. Installation erfolgreich Klicken Sie auf Installer beenden

  6. Navigieren Sie jetzt im Explorer zu Ihrem STS-Stammpfad. C:\apps\sts-4.4.0.RELEASE\ Wir sehen lombok.jarim sts-Stammpfad platziert Jetzt in der Editor- SpringToolSuite4.iniDatei bearbeiten Wir sehen Folgendes am Ende angehängt

    -javaagent:C:\apps\sts-4.4.0.RELEASE\lombok.jar

  7. Starten Sie STS mit SpringToolSuite4.exe Clean und erstellen Sie Ihr Projekt neu.


1

Ich habe in .m2 repo nach lomob.jar gesucht. Sobald Sie darauf doppelklicken -> Suchen Sie in eclipse.exe und wählen Sie es aus. Nach lombok werden die erforderlichen Änderungen vorgenommen. Beenden Sie Eclipse explizit -> es sollte jetzt behoben sein. Wenn nicht, führen Sie ein Maven-Update durch.


1

Ich bin auf Eclipse Neon und nachdem ich die obigen Schritte befolgt habe, hat es immer noch nicht funktioniert. lombok.Data importieren; wurde nicht erkannt.

Nach ungefähr einer Stunde Umsehen habe ich die Version auf 1.16.14 umgestellt und es hat funktioniert.

Nun ist mein Gedanke, ob die 1 Stunde auf lange Sicht eine gute Investition sein wird :-)


1

Eclipse Oxygen - Nach der Installation von Lombok gemäß dem auf der Lombok-Seite beschriebenen Verfahren konnte die @ Log-Annotation immer noch nicht verwendet werden.

Lösung: Projekt -> Eigenschaften - Aktivieren Sie die Anmerkungsverarbeitung


1

Es war wenig frustrierend. Aber schließlich wurde es für mich mit folgender Lösung gelöst.

Das Problem scheint zu sein, wo "-javaagent: lombok.jar" in Ihrer INI-Datei platziert ist. Als ich es durch Lombok-Installation installiert habe. Diese Zeile wurde zu den letzten Parametern nach -vmargs hinzugefügt. Als ich es neben -vmargs nach oben bewegte. Das Problem wurde behoben.


0

Ich habe mich gerade diesem Problem gestellt (Compilerfehler für generierte Getter) und keine der vorgeschlagenen Lösungen hat geholfen.

Setup: Eclipse Oxygen (32 Bit), SAP_JVM (32 Bit), Lombok 1.16.18 (Eclipse-Plugin ordnungsgemäß installiert).

Erstellt ein einfaches neues Testprojekt, das wie ein Zauber funktioniert. Anschließend wurde das fehlerhafte Projekt gelöscht und erneut aus meinem Github-Repo ausgecheckt, wodurch die Fehler behoben wurden. Nur das Projekt aus dem Arbeitsbereich zu löschen und erneut zu importieren, hat nicht geholfen.


0

Ich verwende Windows 10. Ich habe die folgenden Schritte ausgeführt:

  • Lombok-Abhängigkeit in pom.xml meines Projekts hinzugefügt
  • "-Javaagent: {pathOfLombokJarInSystem}" in der Datei eclipse.ini hinzugefügt. Der Pfad in meinem Fall war "-javaagent: C: \ Benutzer \ {Benutzername} .m2 \ Repository \ org \ projectlombok \ lombok \ 1.18.6 \ lombok-1.18.6.jar".
  • Startete die Sonnenfinsternis und führte Maven> Projekt aktualisieren aus.

Dies löste das Problem für mich.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.