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 IDEA 14.1 (à l’aide de la méthode d’importation Importer un modèle externe ). Je peux exécuter les tests unitaires JUnit4 sans problème dans Gradle, mais IntelliJ semble avoir du mal à voir les Getters générés par Lombok. Cela m’empêche d’exécuter les tests dans IDEA.

Pour m’assurer que ce n’était pas un problème d’installation, j’ai créé un projet très simple et confirmé que le même problème se produit dans le projet de test simple.

Mes versions: Gradle: gradle-2.3-all via Gradle wrapper
IDÉE Intellij: IU-141.713
Lombok Plugin: 0.9.2

Qu’est-ce que j’oublie ici?

Mise à jour Par ne peut pas 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écompilées montrent les getters et les setters, mais je reçois ces erreurs lorsque je demande à IntelliJ d’exécuter l’application ou les tests unitaires.

Getters et setters sont là, mais pas là ???

    Vous devez activer le préprocesseur d’annotation. Voir la documentation ici .

    De plus, vous devriez installer le plugin Lombok si ce n’est déjà fait

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

    • Installer le plugin Lombok
    • Activer le traitement des annotations voir la documentation
    • Installez la dernière version de Maven sur votre système et configurez IntelliJ pour l’utiliser (contrairement à celle fournie), voir la documentation.

    On peut le voir dans le dossier de construction.

    entrer la description de l'image ici

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

    Le drapeau “Activer le traitement des annotations” a été désactivé (malgré l’importation des parameters de la version précédente d’IntelliJ), je l’ai donc activé. Cela n’a pas résolu le problème après le redémarrage, le nettoyage, la construction.

    Cependant, la réintégration du plugin Lombok a aidé!

    EDIT: Apparemment, c’est le problème de compatibilité du plugin Lombok avec IntelliJ 2018.1, une mise à niveau du plugin à la version 0.17 est requirejse pour les utilisateurs d’IntelliJ.

    Extrait du changelog du plugin Lombok:

    Lombok support plugin mis à jour vers la v0.17: – Corrigé (# 465): compatibilité du plugin avec IntelliJ 2018.1

    Dans le cas de Lombok, IntelliJ vous permet de rechercher des utilisations de variable, qui incluront également des getters et des setters. Cliquez simplement sur le nom de la variable et sur l’ option/alt + f7 .

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