Lombok erzeugt keinen Getter und Setter


99

Ich habe gerade versucht, ein Maven-basiertes Projekt an einen anderen Computer zu senden und HORROR, überall rote Markierungen !!

Allerdings mvn clean installbaut gerade fein.

Schnell bemerkte ich, dass Lombok keine Getter und Setter für meine Klassen generiert, obwohl die @Getterund @Settervon Eclipse korrekt erkannt werden.

Beide Computer verwenden dieselbe Maven-Version (3.0.4), jedoch unterschiedliche JDKs (1.6_23 und 1.6_33). Beide verwenden Eclipse Indigo 32 Bit. Haben Sie eine Idee, wie Sie das Problem lösen können?


Ausführliche Anweisungen finden Sie unter stackoverflow.com/questions/3418865/… . Dazu gehört auch, wie Sie Eclipse über eine Verknüpfung starten.
Roel Spilker


Ich habe alle oben genannten Schritte ausgeführt, ABER es hat immer noch nicht funktioniert. Ich habe mir pom.xml noch einmal angesehen und <! - <optional> true </ optional> -> auskommentiert, was standardmäßig kam. Ich füge später dieses <! - <scope> bereitgestellte </ scope> -> hinzu, kommentiere es aber auch aus.
Logixplayer

Antworten:


140

Wenn Sie mit einer neuen Eclipse-Installation beginnen, müssen Sie Lombok tatsächlich "installieren", bevor Sie es verwenden können.

  1. Gehen Sie dorthin, wo sich Ihr Lombok-Glas befindet (z. B. (z. B. in ~/.m2/repository/org/projectlombok/lombok/1.16.10/lombok-1.16.10.jar), führen Sie es aus (Beispiel java -jar lombok-1.16.10.jar:). Ein Fenster sollte angezeigt werden. Navigieren Sie zu Ihrem eclipse.exeStandort.
  2. Klicken Sie auf Installieren.
  3. Starten Sie Eclipse, aktualisieren Sie die Projektkonfiguration für alle Projekte und voila.

14
Wenn es auch nach den obigen Schritten nicht funktioniert, werden EXIT und START erneut in den Schatten gestellt. Einfache Datei-> Neustart funktioniert nicht. Explizites Beenden und Starten ist erforderlich.
Nanosoft

1
Ich glaube, ich habe dies getan, während die Sonnenfinsternis geschlossen war
Eildosa

2
Wenn es geschlossen war, funktioniert es beim nächsten Start. Aber wenn es bereits gestartet ist und Explicit EXIT und Start erforderlich sind.
Nanosoft

2
Gut gemacht @Elidosa --- Es funktioniert, aber ja muss Eclipse beenden und starten, nur Neustart funktioniert nicht
SMT

Ich musste auch die Projekte bereinigen, um Kompilierungsfehler zu entfernen
Aditya

83
  • Wenn Sie STS verwenden . Sie müssen Lombok in Ihrer Eclipse installiert haben, indem Sie lombok-xyz.jar ausführen

  • Bitte versuchen Sie die folgenden Schritte:

    1. Schließen Sie Pom in Maven ein.
    2. STS beenden / herunterfahren
    3. Finden Sie lombok Jar in ~ / .m2 / repository / org / projectlombok / lombok / version.x
    4. Über die Eingabeaufforderung / Shell java -jar lombok-1.x.y.jar Projekt Lombok Installer

    5. Starten Sie STS

Das ist alles.

EDIT : Ich habe dies getan und zeigte immer noch Fehler, wie in den Kommentaren erwähnt. Also habe ich das Projekt aktualisiert: Klicken Sie mit der rechten Maustaste auf Projekt -> Maven -> Projekt aktualisieren und die Fehler sind verschwunden.


Trotzdem bin ich mit dem Problem konfrontiert und nicht sicher, was los ist.
Pra_A

Haben Sie eine Fehlermeldung? Können Sie die Klasse in Ihre Pojo-Dateien importieren?
GoutamS

@Prateek Falls nicht funktioniert, ändern Sie bitte die Lombok-Version.
Und

1
Ich habe die Datei lombok.jar manuell heruntergeladen, ausgeführt und später Eclipse neu gestartet und Projekte neu erstellt. Es hat funktioniert! ...
ArifMustafa

Ich hatte das gleiche Problem alles versucht, aber nicht funktioniert. Dann habe ich frisch installiert und bevor ich etwas getan habe, habe ich Lombok installiert. Es funktionierte. Stellen Sie außerdem sicher, dass Sie mit dem neuen Arbeitsbereich beginnen. Mit dem alten hat es nicht funktioniert.
Rajeev

42

Beachten Sie, dass Sie bei Verwendung von IntelliJ das Lombok-Plugin (verfügbar in den IDE-Einstellungen) installieren und die Verarbeitung von Anmerkungen aktivieren möchten.


1
Haben Sie bemerkt, dass es beim OP um Ecilpse ging?
James Kingsbery

16
Dennoch wären mehrere zu diesem Thread gekommen, wenn sie sich der gleichen Sache gegenübersahen und nicht wussten, ob das Plugin für das IntelliJ benötigt wird. Daumen hoch
Vaibs

War mir zum Beispiel nützlich. Ich benutze Intellij! Vielen Dank!
Peter Szalay

8

Wenn Sie Eclipse verwenden. Sie müssen lombok in Ihrer Eclipse installiert haben, indem Sie lombok-xyz.jar ausführen (z. B. finden Sie in ~/.m2/repository/org/projectlombok/lombok/1.12.6/lombok-1.12.6.jar).

Beim Öffnen des Installationsfensters müssen Sie den Speicherort Ihrer Eclipse auswählen. Und lassen Sie es Lombok im Inneren installieren. Sie müssen Ihre Eclipse anschließend neu starten.


2
"Beenden Sie explizit und starten Sie erneut." Normale Datei -> Neustart funktioniert nicht.
Nanosoft

6

Laden Sie Lombok Jar herunter, lassen Sie uns den Download in unserem Namen durchführen:

 <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
    </dependency>

Jetzt ... Befehl mvn clean install für das neu erstellte Projekt, um dieses JAR in das lokale Repository herunterzuladen. Gehen Sie zum JAR-Speicherort, führen Sie die Eingabeaufforderung aus und führen Sie den folgenden Befehl aus: java -jar lombok-1.16.18.jar

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf die Schaltfläche "Standort angeben" und suchen Sie den Pfad "eclipse.exe". Geben Sie hier die Bildbeschreibung ein

Installieren Sie dies schließlich, indem Sie auf "Installieren / Aktualisieren" klicken.


Dies ist die einfachste Lösung, die ich bisher gefunden habe. Es funktionierte. Vielen Dank.
Freiberufler

5

Dies sind Befehlszeilenanweisungen, bei denen die obige grafische Version nicht verfügbar ist oder Sie die Lombok-JAR-Datei nicht wie in Ubuntu mit Doppelklicks öffnen können.

Zum Zeitpunkt des Schreibens ist die Verwendung von Lombok nicht einfach, da nur eine Abhängigkeit in Ihre POM-XML-Datei eingefügt und die Anmerkung hinzugefügt wird. Dies sind die nächsten Schritte:

1) Suchen Sie, wo Ihre Lombok-JAR-Datei von maven heruntergeladen wird. Normalerweise befindet es sich im Ordner .m2 in Ihrem Home-Verzeichnis. Führen Sie dann den folgenden Befehl aus.

java -jar lombok-1.16.18.jar install <path of where your IDE is installed>

Anwendungsbeispiel:

java -jar lombok-x.xx.xx.jar install ~/Downloads/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64/sts-bundle/sts-3.9.1.RELEASE/

Mit dem obigen Befehl wird im Wesentlichen eine Konfigurationsaktualisierung in Ihrer IDE .inioder configurationDatei wie folgt durchgeführt:

-javaagent:/home/neshant/Downloads/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64/sts-bundle/sts-3.9.1.RELEASE/lombok.jar

Dies stellt sicher, dass die @Dataoder @Getteroder @SetterAnmerkungen von der IDE verstanden werden. Es ist komisch, dass es so komplex sein musste.


hier finde ich im jahr 2020 deinen post noch nützlich. Vielen Dank!
YazidEF

2

Für Sprint STS - Legen Sie die Datei lombok.jar im Ordner eclipse / sts exe ab und fügen Sie der STS.ini den folgenden Eintrag hinzu.

-javaagent:lombok.jar

1

Ich benutze Red Hat Jboss Entwicklerstudio. Ich habe dieses Problem gelöst durch:

  1. Das Projekt ist lombokabhängig. Schauen Sie zuerst in Ihr .m2 Repository und finden Sie das lombokGlas

  2. Doppelklicken Sie auf das JAR. Dort sehen Sie, wie das Installationsprogramm den Pfad für IDE wie angibt C:\Users\xxx\devstudio\studio\devstudio.exe

  3. Starten Sie die IDE neu und aktualisieren Sie das Maven-Projekt. Der Fehler wird behoben


1
Willkommen bei StackOverflow! Bitte versuchen Sie, Ihre Antworten besser lesbar zu machen, indem Sie die richtigen Listen und verwenden markdown language like this.
MS Berends

1

1) Führen Sie den Befehl aus java -jar lombok-1.16.10.jar. Dies muss aus dem Verzeichnis Ihrer Datei lombok.jar ausgeführt werden.

2) Fügen Sie den Speicherort manuell hinzu, indem Sie die Datei eclipse.ini (Installiertes Eclipse-Verzeichnis) auswählen . Durch " Standort angeben "

Hinweis: Fügen Sie die Datei eclipse.exe nicht hinzu, da dadurch der Eclipse-Editor beschädigt wird.

So fügen Sie die Datei eclipse.ini hinzu


1

Ich bin auch auf dieses Problem gestoßen, weil ich meine IntelliJ IDEA aktualisiert habe, ohne das Lombok-Plugin zu aktualisieren. Sie sind also nicht kompatibel.


Aktualisieren Sie einfach das Lombok-Plugin in Intellij Idea und starten Sie die IDE
Daria Yu

1

Es reicht nicht aus, nur die Abhängigkeit von Lombok hinzuzufügen. Sie müssen auch das Plugin von Lombok installieren.

Sie können Ihre Lombok-JAR-Datei durch Navigieren abrufen (nur wenn Sie die Abhängigkeit in einem der POMs hinzugefügt haben.)

m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 \ lombok-1.18.12

Wenn Lombok die IDE nicht finden konnte, geben Sie die EXE-Datei Ihrer IDE manuell an und klicken Sie auf Installieren.

Starten Sie Ihre IDE neu.

Das ist es.

Wenn Sie auf ein Problem stoßen,

Unten finden Sie ein schönes und kurzes Video zur Installation des Plugins von Lombok.

Um Zeit zu sparen, können Sie ab 1:40 beginnen.

https://www.youtube.com/watch?v=5K6NNX-GGDI

Wenn es immer noch nicht funktioniert,

Stellen Sie sicher, dass sich lombok.jar in Ihrer Datei sts.ini befindet (Datei sts config, vorhanden im Ordner sts.)

-javaagent: lombok.jar

Mach Alt + F5. Dadurch wird Ihr Maven aktualisiert.

Schließen Sie Ihre IDE und starten Sie sie erneut.


1
Wie kommt es, dass diese Antwort nicht einmal eine einzige Stimme hatte? Das hat wirklich geholfen. Danke vielmals.
sofs1

1

Wenn Sie Maven und Eclipse verwenden, muss dies manuell installiert werden.

  1. Überprüfen Sie pom

 <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
            <type>jar</type>
        </dependency>

  1. Gehen Sie zu Maven Dependencies

Geben Sie hier die Bildbeschreibung ein

  1. Klicken Sie mit der rechten Maustaste in die Bibliothek und führen Sie sie als Java-Anwendung aus

Geben Sie hier die Bildbeschreibung ein

  1. Geben Sie die Standort-IDE an, installieren und schließen Sie die IDE (Eclipse). Geben Sie hier die Bildbeschreibung ein

Ich habe alle von Ihnen beschriebenen Schritte ausgeführt, aber mit Eclipse 2019-12 und Lombok 1.18.12 erkennt Eclipse nicht, dass mein Modell eine Annotation \ @getter oder \ @setter enthält. Gibt es überhaupt einen Getter oder Setter, der von Lombok erzeugt wird?
Ben

0

Wenn Sie lombok für eine Neuinstallation von Eclipse oder STS verwenden, müssen Sie:

  1. Installieren Sie das Lombok-Glas, das Sie unter https://projectlombok.org/download erhalten . Führen Sie das JAR aus (als Administrator, wenn Sie Windows verwenden) und geben Sie den Pfad zu Ihrer Eclipse / STS-Installation an.

  2. Starten Sie Ihre IDE neu (Eclipse oder STS)

  3. Geben Sie Eclipse etwas Zeit, um die Klassendateien für Lombok zu generieren (in einigen Fällen kann dies bis zu 4 Minuten dauern).


0

Für Spring ToolSuite 4 auf dem Mac wurde die INI in SpringToolSuite4.ini umbenannt.

Sie können es entweder umbenennen oder in STS.ini kopieren, um von lombok erkannt zu werden. Kopieren Sie es dann zurück in den ursprünglichen Namen, um von der IDE gelesen zu werden. (Ich habe nicht versucht, ob symbolische Links funktionieren.)



0

Was ich tun musste, war die Installation lombokim Eclipse-Installationsverzeichnis.

Laden Sie das lombok.jarvon hier herunter und installieren Sie es mit dem folgenden Befehl:

java -jar lombok.jar

Stellen Sie danach sicher, dass das lombok.jarin Ihrem Erstellungspfad hinzugefügt wird. Stellen Sie jedoch sicher, dass Sie es nicht zweimal hinzufügen, indem Sie es einmal durch mavenoder gradleund noch einmal im Eclipse-Pfad hinzufügen .

Danach cleanund builddas Projekt erneut und sehen, dass alle Fehler verschwinden.


0

Wenn Sie STS verwenden. Sie müssen Lombok in Ihrer Eclipse installiert haben, indem Sie lombok-abc.jar ausführen

Bitte folgen Sie den Schritten:

-Inklusive Pom in Maven. -Exit / Shutdown STS (muss) -Finden Sie lombok Jar in ~ .m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 -From Command Geben Sie hier die Bildbeschreibung ein

Danach Geben Sie hier die Bildbeschreibung ein

Danach wählen Sie die STS.exe Geben Sie hier die Bildbeschreibung ein

Danach klicken Sie auf Update / Update

Geben Sie hier die Bildbeschreibung ein

Beenden Sie dann Installer

Viel Spaß beim Codieren

Blockquote


es ist doppelte Antwort
Tiago Medici

0

Intellij User, stellen Sie sicher, dass Sie 3 Dinge haben,

  1. Lombok-Abhängigkeit
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>provided</scope>
        </dependency>
  1. IntelliJ Plugin für Lombok

  2. Lombok-Annotation, wie @Getter @Setter(stellen Sie sicher, dass sie von Lombok und nicht von irgendwo anders kommt)

und es sollte funktionieren.



-1

Wenn Sie maven verwenden, gehen Sie zu Maven-Abhängigkeiten in Ihrer Projektstruktur und führen Sie lombok jar als Java-Projekt aus. Es wird installiert, beendet und Eclipse gestartet

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.