247 votes

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

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

J'ai installé Plugin tiers pour IDEA et cela semble fonctionner correctement car IDEA voit toutes les méthodes/champs autogénérés.

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

import lombok.extern.slf4j.Slf4j;

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

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

Pouvez-vous me dire ce que j'ai manqué ici ?

Mise à jour : Il s'avère que c'est le 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 ?

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

0 votes

Les erreurs apparaissent même sans le plugin. Je ne suis pas en mesure d'exécuter les tests d'un projet si Lombok figure dans mes dépendances pom.xml.

0 votes

Il y a une autre réponse stackoverflow.com/a/63632563/5410940

0voto

S Kampen Points 11

Je ne pense pas avoir déjà lu ma dernière étape dans les réponses. (Mac + IntelliJ Ultimate 2020.1) C'est juste une cause stupide dans mon cas, mais ce sont celles qui peuvent prendre le plus de temps parce que l'erreur ne s'y réfère pas directement.

La même erreur lombok m'est apparue après avoir supprimé et reclassé le projet. Après avoir effectué les étapes mentionnées précédemment dans ce fil de discussion, j'avais toujours l'erreur, j'ai alors découvert que mon SKD était par défaut à la version 11. J'ai modifié cette version en 1.8 et tout a fonctionné à nouveau.

Fichier --> Paramètres du projet --> Projet J'ai changé le SDK du projet et le niveau de langue du projet en 1.8.

PS : l'emplacement des paramètres par défaut sur le Mac est différent dans cette version d'IntelliJ que celui mentionné précédemment : Fichier --> Paramètres du nouveau projet --> Préférences pour les nouveaux projets --> Construction, exécution, déploiement --> Compilateur --> Processeurs d'annotation --> 'check' Activer le traitement des annotations.

J'espère que cela vous aidera.

0voto

John Chapman Points 838

J'ai eu un problème similaire en construisant avec JDK8, j'ai remis le projet en JDK7 et ça a marché. Il peut s'agir d'une ancienne version de Lombok qui ne compile pas sous JDK8.

0 votes

J'ai également eu le même problème. Essayez de changer la version de Lombok pour qu'IntelliJ télécharge à nouveau la dépendance.

0voto

cybersoft Points 951

Si vous avez essayé toutes les solutions présentées ici et que vous ne pouvez toujours pas compiler les sources, regardez également ici : L'importation statique d'une classe de constructeur interrompt la génération du bytecode dans Maven. - regardez vos sources s'il y a 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.

0voto

Dans mon cas, j'avais mis en place tous les éléments mentionnés ci-dessous et cela ne fonctionnait toujours pas.

  1. J'avais installé correctement le plugin lombok
  2. Processeurs d'annotation, également vérifié.
  3. Mon compilateur Java était réglé sur JAVAC.

Pour résoudre mes problèmes, j'ai dû

  1. Mettez à jour lombok à la dernière version (v0.15) en date du 7, Oct, 2017.
  2. Redémarrez IntelliJ.
  3. Projet de reconstruction.

Voir les captures d'écran sur la façon de mettre à jour et de reconstruire le projet ci-dessous.

Comment mettre à jour lombok

Comment reconstruire le projet

0voto

PK' Points 105

Vous pouvez réparer cannot find symbol variable log en utilisant lombok dans IntelliJ IDEA 2017.1.3 en faisant ceci :

IntelliJ Preferences > Build, Execution, Deployment > Annotation Processeurs > [Cocher] Activer le traitement des annotations > Appliquer

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X