IntelliJ IDEA ne peut pas voir le code généré par Lombok

j'ai un projet basé sur Gradle qui utilise lombok. J'ai importé ce projet dans IntelliJ idée 14.1 (en utilisant le Importer Le Modèle Externe méthode d'importation). Je peux exécuter les tests de L'unité JUnit4 sans problème dans Gradle, mais IntelliJ semble avoir un problème à voir les Getters générés par Lombok. Cela m'empêche d'effectuer les tests dans IDEA.

pour être sûr que ce n'était pas un problème, j'ai créé un projet Très simple et a confirmé que le même la question se pose dans le projet d'essai simple.

mes versions: Gradle: gradle-2.3-le tout via Gradle wrapper

Intellij idée: IU-141.713

Plugin Lombok: 0.9.2

Qu'est-ce que je rate ici?

mise à Jour Par impossible de voir je ne veux pas dire physiquement invisible. Je veux dire ceci:

/home/meeee/workspace/junit-lombok-idea/lib/src/main/java/com/example/jumbokea/Main.java
Error:(10, 11) java: cannot find symbol
  symbol:   method setIntField(int)
  location: variable sc of type com.example.jumbokea.SomeClass
Error:(12, 41) java: cannot find symbol
  symbol:   method getIntField()
  location: variable sc of type com.example.jumbokea.SomeClass
Error:(14, 33) java: constructor AnotherClass in class com.example.jumbokea.AnotherClass cannot be applied to given types;
  required: no arguments
  found: float,com.example.jumbokea.SomeClass
  reason: actual and formal argument lists differ in length
Error:(16, 46) java: cannot find symbol
  symbol:   method getSomeFloat()
  location: variable ac of type com.example.jumbokea.AnotherClass
Error:(17, 43) java: cannot find symbol
  symbol:   method getSomeClass()
  location: variable ac of type com.example.jumbokea.AnotherClass

Les classes décomposées montrent les getters et les setters, mais j'obtiens ces erreurs quand J'obtiens IntelliJ pour exécuter le 'app' ou les tests Unitaires.

Getters and setters are there, but not there???

35
demandé sur copolii 2015-05-01 03:51:40

5 réponses

vous devez activer le préprocesseur d'annotation. Voir la documentation ici.

en outre, vous devriez installer le plugin lombok si ce n'est déjà fait

52
répondu mh-dev 2016-04-25 22:56:35

j'ai réussi à résoudre ce problème en procédant comme suit:

  • installez le plugin Lombok
  • Activer Le Traitement Des Annotations voir documentation
  • installez la dernière Maven sur votre système et configurez IntelliJ pour l'utiliser (par opposition à la Maven) voir documentation
6
répondu Samantha Catania 2016-01-27 14:16:00

il peut être vu dans le dossier de compilation.

enter image description here

2
répondu JiHong Jang 2015-05-01 06:10:42

dans mon cas, le problème est survenu après la mise à jour IntelliJ via Toolbox.

" Enable annotation processing " drapeau a été désactivé (malgré l'importation des paramètres de la version précédente IntelliJ), donc je l'ai activé. Cela n'a pas résolu le problème après redémarrage, Nettoyage, Construction.

cependant, résintaller le plugin lombok a aidé!

EDIT: il semble que ce soit le problème avec la compatibilité du plugin lombok avec IntelliJ 2018.1, la mise à niveau du plugin à 0.17 is requis pour les utilisateurs IntelliJ.

Lombok plugin changelog excerpt:

support du plugin Lombok mis à jour en v0.(17): - Correction (#465): Correction de compatibilité avec IntelliJ 2018.1

2
répondu logrusso 2018-04-06 09:23:14

dans le cas de Lombok, IntelliJ vous permet de rechercher des usages de variable, qui inclura aussi getters et setters. Il suffit de cliquer nom de la variable et option/alt + f7.

cela fonctionne dans Intellij 2016 et Lombok plugin 0.13.16. Je ne suis pas sûr des versions plus anciennes.

0
répondu wst 2016-11-03 04:04:05