Es scheint alles in Ordnung zu sein. Aber wenn ich einen Test kompiliere, kommen Fehler: Kann die Methoden getXXX und setXXX nicht finden.
Ich habe die .class-Datei mit IntelliJ geöffnet und festgestellt, dass es keine setXXX- und getXXX-Methoden gibt.
Kann mir jemand sagen warum?
Um das Problem zu lösen, gehen Sie wie folgt vor:
Stellen Sie sicher, dass Sie das Lombok-Plugin für IntelliJ installiert haben!
->
PluginsWenn Sie den Eclipse-Compiler mit lombok verwenden, hat dieses Setup für mich endlich funktioniert:
Der wichtigste Teil ist der letzte, meiner sieht folgendermaßen aus:
Das Plugin wird für den IntelliJ-Editor benötigt, um Getter und Setter zu erkennen, der Eclipse-Compiler benötigt Javaagent, um mit Lombok zu kompilieren.
Wenn Sie Intellij auf einem Mac verwenden, hat dieses Setup bei mir endlich funktioniert.
Installationen: Intellij
Einstellungen:
Anmerkungsprozessor aktivieren
Überprüfen Sie, ob das Lombok-Plugin aktiviert ist
Fügen Sie Lombok jar in Globale Bibliotheken und Projektabhängigkeiten hinzu.
Datei -> Projektstruktur -> Projekteinstellungen -> Module -> Registerkarte Abhängigkeiten = Lombok prüfen
Starten Sie Intellij neu
Für mich sind sowohl das Lombok-Plugin als auch die Anmerkungsverarbeitung erforderlich, sonst nichts. Es ist nicht erforderlich, die Optionen Eclipse und - javaagent: lombok.jar zu verwenden.
IDEA 2016.1:
Wenn Sie maven verwenden, fügen Sie der Konfiguration des maven-compiler-plugins -> annotationProcessors -> annotationProcessor Folgendes hinzu: lombok.launch.AnnotationProcessorHider $ AnnotationProcessor
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.plugin.compiler.version}</version>
<configuration>
<compilerVersion>${Java.version}</compilerVersion>
<source>${Java.version}</source>
<target>${Java.version}</target>
<annotationProcessors>
<annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
</annotationProcessors>
</configuration>
</plugin>
Stellen Sie sicher, dass diese beiden Anforderungen erfüllt sind:
Anmerkungsverarbeitung aktivieren,
Voreinstellungen> Erstellen, Ausführen, Bereitstellen> Compiler> Anmerkungsprozessoren> Anmerkungsverarbeitung aktivieren
Das Lombok-Plugin ist für Ihr Projekt installiert und aktiviert.
Nachdem ich viel zu viel Zeit mit der Fehlerbehebung verbracht hatte, fand ich eine einfache Problemumgehung, die sicherstellt, dass IntelliJ Lombok-Anmerkungen während der Erstellung korrekt verarbeitet.
Das Gradle-Lombok-Plugin ist für diese Problemumgehung nicht erforderlich. Ihre build.gradle
benötigt nur Folgendes:
dependencies {
compileOnly("org.projectlombok:lombok:1.16.18")
}
Die Problemumgehung besteht darin, die folgende IntelliJ-Einstellung zu aktivieren:
Build, Execute, Deployment > Build Tools > Gradle > Runner
Delegate IDE build/run actions to gradle
Vorteile dieser Problemumgehung im Vergleich zu anderen Lösungen auf dieser Seite:
Ein Nachteil ist, dass IntelliJ keinen eigenen Testläufer mehr verwendet. Stattdessen werden Tests immer über Gradle ausgeführt.
Keine der erweiterten Antworten auf diese Frage hat das Problem für mich gelöst.
Ich konnte das Problem lösen, indem ich lombok eine Abhängigkeit in die Datei pom.xml hinzufügte, d.h.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
</dependency>
Ich verwende IntelliJ 2016.3.14 mit maven-3.3.9
Hoffe, meine Antwort wird für Sie hilfreich sein
Auf Itellij 15 CE muss nur das Lombok Plugin installiert werden (keine zusätzliche Konfiguration erforderlich).
Ich habe dieses Verfahren befolgt, um einen ähnlichen/gleichen Fehler zu beheben.
mvn idee: sauber
mVN Idee: Idee
Danach konnte ich sowohl von der IDE intellij als auch von der Kommandozeile aus bauen.
Ich bin nicht in der Lage, dies mit dem Javac-Compiler zum Laufen zu bringen, und ich erhalte den gleichen Fehler.
Fehler: (9, 14) Java: Paket lombok existiert nicht
Ich habe Anmerkungsprozessor aktiviert und auch versucht, das Projekt neu zu erstellen, Cache ungültig zu machen/neu zu starten. Hilft nicht.
Ich habe es jedoch teilweise mit Eclipse-Compiler arbeiten. Ich sage teilweise, weil, obwohl der Build erfolgreich bestanden wurde, der Editor sich immer noch über "Symbol kann nicht aufgelöst werden" beschwert.
Idea - 15.04 Community Edition Lombok - 1.16.6 Lombok Plugin ( https://github.com/mplushnikov/lombok-intellij-plugin ) - 0.9.8 JDK - 1.8.0_51
Update: Ok, ich habe es endlich geschafft. Meins war ein Gradle-Projekt, und Lombok wurde als benutzerdefinierte "bereitgestellte" Konfiguration konfiguriert. Hat gut funktioniert, nachdem dies in build.gradle hinzugefügt wurde
idea {
module {
scopes.PROVIDED.plus += [configurations.provided]
}
}
Also 3 Schritte