Impossible de compiler le projet lorsque j'utilise Lombok sous IntelliJ IDEA

J'essaie d'utiliser Lombok dans mon projet que je développe en utilisant IntelliJ IDEA 11.

J'ai installé plugin 3rd-party pour IDEA et il semble fonctionner correctement car IDEA voit toutes les méthodes/champs générés automatiquement.

J'ai donc une classe qui utilise Slf4j. Je l'ai annoté comme ceci

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class TestClass
{
    public TestClass()
    {
        log.info("Hello!");
    }
}

Mais quand je construis mon compilateur de projet crache: cannot find symbol variable log.

Pourriez-vous me dire ce qui me manque ici ?

Mise à Jour:, Il s'est avéré que c'est Processus d'annotation RequestFactory qui échoue.

input files: {com.zasutki.courierApp.server.TestServlet, com.mine.courierApp.server.model.DatastoreObject}

annotations: [javax.inject.Singleton, javax.inject.Inject, lombok.Getter, lombok.Setter, com.googlecode.objectify.annotation.Id, com.googlecode.objectify.annotation.OnSave]

Processor com.google.web.bindery.requestfactory.apt.RfValidator matches [lombok.Getter, com.googlecode.objectify.annotation.Id, javax.inject.Inject, lombok.Setter, com.googlecode.objectify.annotation.OnSave, javax.inject.Singleton] and returns false.

cannot find symbol variable log

Des idées sur les solutions de contournement ?

Update2: peut-être que ce n'est pas quelque chose que les lecteurs veulent entendre, mais j'ai fini par passer à Scala.

138
demandé sur Makoto 2012-02-24 06:03:30

21 réponses

Je l'ai corrigé dans IDEA 12 en cochant la case Enable annotation processing dans:

Paramètres - > Compilateur - > Processeurs D'Annotation

Pour IDEA 2016.2:

Préférences... > Construire, Exécuter, Déployer > Compilateur > Processeurs D'Annotation

293
répondu user2021572 2016-09-08 12:03:53

L'activation du traitement des annotations le fera fonctionner

Mais si vous êtes sur un Mac , Assurez-vous d'activer le traitement des annotations (cochez la case) depuis les deux endroits disponible.

1.) Intellij Idea -> Préférences -> Compilateur - > Processeurs D'Annotation

2.) Fichier - > Autres Paramètres - > Paramètres Par Défaut -> Compilateur - > Processeurs D'Annotation

64
répondu greperror 2015-05-11 08:21:48

Représentation de l'image de la résolution de ce problème.

Activez D'abord les processeurs d'annotation et essayez. Cela peut ou peut ne pas fonctionner. entrez la description de l'image ici

Postez cela, vous pouvez installer le plugin lombok à partir d'intellij, (après L'installation Intellij redémarrera pour activer le plugin, alors assurez-vous d'enregistrer votre travail.(Intellij enregistre toutes les modifications avant le redémarrage, juste pour être du bon côté.)) capture d'écran ci-dessous:

entrez la description de l'image ici

28
répondu CodeShadow 2017-03-15 12:06:17

Comme indiqué ici , Citation: "vous devez activer l'option du compilateur externe et activer les processeurs d'annotation ou désactiver le compilateur externe et désactiver tous les compilateurs d'annotation pour travailler avec lombok". Cela a réglé mon problème. Notez que j'ai ajouté le plugin Scala avant de recevoir cette erreur, donc je soupçonne que le plugin a changé certains des paramètres ci-dessus.

7
répondu Omri Sivan 2013-07-14 08:14:05

Il existe un plugin pour intellij. voir ici: https://projectlombok.org/download.html

6
répondu mt.uulu 2015-08-07 13:45:06

Si vous avez coché ces deux étapes, comme suit

  1. activer les annotations: ceci est une vérification effectuée dans IntelliJ préférence.
  2. Importation de lombok dans IntelliJ classPath (Préférences - > Plugins)

Et toujours des erreurs, alors , veuillez vérifier le compilateur - si c'est JAVAC ou ECLIPSE.

Vous pouvez vérifier le compilateur dans Préférences - > construction, exécution, déploiement -> compilateur -> compilateur Java.

Modifier le compilateur Use pour Javac (si C'est Eclipse). C'est ce qui a fonctionné pour moi.

4
répondu Saurabh Saha 2017-03-27 13:32:53

Avez-vous lombok comme dépendance de votre projet? Lombok.jar doit être sur le classpath lors de la compilation du projet, qui utilise l'une des annotations lombok.

3
répondu mplushnikov 2012-02-24 20:18:38

1、Installez le plugin lombok pour IDEA

Intellij Idea -> Préférences -> Plugins -> type de lombok -> Recherche dans les Dépôts -> installer -> redémarrer l'IDÉE

2、 config lombok plugin

L'activation du traitement des annotations le fera fonctionner

Mais si vous êtes sur un Mac, assurez-vous d'activer le traitement des annotations aux deux endroits suivants:

Intellij Idea - > Preferences - > Build, Execution, Deployment - > Compilateur - > Processeurs D'Annotation, cochez la case "Activer le traitement des annotations". Fichier - > autres paramètres - > Paramètres par défaut - > construire, exécution, déploiement - > compilateur - > processeurs D'Annotation, cochez la case "Activer le traitement des annotations".

2
répondu Bluce Liu 2017-12-07 06:14:08

Pour ceux d'entre vous qui ont encore des problèmes:

En plus des étapes ci-dessus d'activation des processeurs d'annotation et d'installation du plugin IntelliJ Lombok, j'ai également dû construire - > reconstruire le projet.

1
répondu JasnaRB 2016-08-21 15:14:36

Pour que cela fonctionne, installez simplement le "plugin Lombok" pour IntelliJ. Vous n'avez pas besoin de faire quoi que ce soit avec l'activation des "processeurs D'Annotation", comme d'autres commentateurs l'ont suggéré. (J'ai testé cela avec la dernière version D'IntelliJ IDEA, actuellement 2017.1.2). Pour installer le plugin, allez dans Paramètres, puis Plugins, puis cliquez sur le bouton" Parcourir les dépôts", puis recherchez" Lombok", et installez le plugin Lombok. Vous serez invité à redémarrer IntelliJ. Par la suite, vous devez être capable de compiler à partir D'IntelliJ, et vous ne recevrez plus d'inspections d'erreur.

1
répondu user64141 2017-04-28 21:17:36

J'étais sur Mac

Ceci est mon idée IntelliJ et la Version Mac-IntelliJ IDEA 2017.1.5 Build #UI-171.4694.70 --- Mac OS X 10.12

En plus d'activer le traitement des annotations (cochez la case) à ces 2 endroits.

1.) Intellij IDEA -> Préférences -> compilateur - > processeurs D'Annotation

.

2.) Fichier - > Autres Paramètres - > Paramètres Par Défaut -> Compilateur - > Processeurs D'Annotation

J'ai dû installer le plugin Lombok trop pour le faire fonctionner.

3.) Intellij IDEA - > Préférences - > Plugins - > parcourir les dépôts - > rechercher "Lombok" - > installer le plugin - > appliquer et redémarrer IDEA

1
répondu so-random-dude 2018-01-26 22:28:03

J'ai eu un problème similaire lors de la construction avec JDK8, remettre le projet à JDK7 et cela a bien fonctionné. Pourrait être une ancienne version de Lombok qui ne compilera pas sous JDK8.

0
répondu John Chapman 2015-03-30 23:29:19

J'ai eu le même problème donc je vais laisser ceci ici pour référence future de mon oubli.

Lorsque Alt+Enter ING sur @Slf4j annotation j'ai choisi par erreur l'importation invalide. Donc, si le code ne compile pas, assurez-vous d'importer:

import lombok.extern.slf4j.Slf4j;

0
répondu Sok Pomaranczowy 2016-03-16 09:58:47

FWIW - lorsque vous définissez des annotations du compilateur comme décrit ci-dessus, assurez-vous également de vérifier les profils que vous utilisez tels que "processeurs d'annotations par défaut Maven".

0
répondu l8Again 2016-03-29 13:55:12

Il peut arriver que même si vous l'avez configuré correctement et qu'il est visible parmi les bibliothèques et dans la liste des dépendances Gradle, IntelliJ ne l'ait toujours pas dans le chemin de la classe. Ou il est là, mais configuré avec une portée différente (ex: test au lieu de compiler.)

Tout d'abord, assurez-vous que le plugin est installé et que le traitement des annotations est activé, comme indiqué dans d'autres réponses.

Si l'annotation n'est toujours pas reconnue, placez le curseur dessus, appuyez sur ALT + Entrée (ou OPTION+entrée) et voyez si vous avez une option de menu Add library: Gragle: org.projectlombok:lombok:VERSION to class path. Si vous pouvez le voir, choisir celui-ci et il peut résoudre votre problème.

Vous pouvez vérifier la bibliothèque et sa portée dans: Onglet Paramètres / Modules / dépendances du projet (recherchez lombok)

0
répondu wst 2016-10-19 01:32:46

Si vous avez essayé toutes les solutions présentées ici et que vous ne pouvez toujours pas compiler les sources, regardez aussi ici: l'importation statique de la classe builder brise la génération de bytecode dans Maven - regardez vos sources si elles ont de telles importations statiques. Cela affecte le plugin maven, donc la compilation échouera sur d'autres systèmes de construction en dehors D'IntelliJ IDEA.

0
répondu cybersoft 2017-07-17 16:20:13

Dans mon cas, j'avais toutes les choses mentionnées ci-dessous en place et cela ne fonctionnait toujours pas.

  1. j'avais lombok plugin installé correctement
  2. processeurs D'Annotation, également cochés.
  3. mon compilateur Java a été défini sur JAVAC

Pour résoudre mes problèmes, je devais

  1. Mettez lombok à jour vers la dernière version (v0. 15) au 7 octobre 2017.
  2. Redémarrez IntelliJ.
  3. reconstruire le projet.

Voir les captures d'écran sur la mise à jour et la reconstruction du projet dessous.

Comment mettre à jour lombok

Comment reconstruire le projet

0
répondu Kehinde Adedamola Shittu 2017-10-07 01:21:40

Cela n'a pas fonctionné pour moi avec l'une des solutions ci-dessus. J'ai ajouté <scope>provided</scope> à la dépendance dans pom.xml et cela a fonctionné.

<dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.20</version>
        <scope>provided</scope>
    </dependency>
0
répondu Shreya Mishra 2018-02-08 20:36:10

Vous pouvez corriger cannot find symbol variable log lorsque vous utilisez lombok dans IntelliJ IDEA 2017.1.3 en faisant ceci:

IntelliJ Préférences > Construire, L'Exécution, Le Déploiement > Annotation Processeurs > [cocher] Activer le traitement des annotations > Appliquer

0
répondu realPK 2018-02-26 05:30:04

Installez le plugin ci-dessous et redémarrez L'IDE pour résoudre les erreurs:

File -> Settings -> Plugins-> Browse Repositories -> Lombok Plugin

Activer le processeur d'annotation:

File -> Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors
File -> Other Settings -> Default Settings -> Compiler -> Annotation Processors
0
répondu firstpostcommenter 2018-09-21 08:55:21

Faced similar problem. Below fixed worked for me.
télécharger (à partir d'ici [https://projectlombok.org/download][1]) et ajouter le jar dans votre projet de la structure.

Étapes: Fichier - > Structure Prpject - >Bibliothèques Globales

0
répondu krishna Murari 2018-09-25 18:42:24