J'essaie d'utiliser Lombok dans le projet que je développe avec IntelliJ IDEA 11.
J'ai installé un plug-in tiers pour IDEA et il semble bien fonctionner 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 ça
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class TestClass
{
public TestClass()
{
log.info("Hello!");
}
}
Mais quand je construis mon compilateur de projet spits: cannot find symbol variable log
.
Pourriez-vous s'il vous plaît me dire ce qui me manque ici?
Update: Il s'est avéré que son processus d'annotation RequestFactory échouait.
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: Ce n'est peut-être pas quelque chose que les lecteurs veulent entendre, mais j'ai fini par basculer sur Scala .
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 ...> Construction, Exécution, Déploiement> Compilateur> Processeurs d'annotation
Activer le traitement des annotations le fera fonctionner
Mais si vous êtes sur un {Mac} _, assurez-vous d'activer le traitement des annotations (cochez la case) à partir de les deux espaces disponibles.
1.) Idée Intellij -> Préférences -> Compilateur -> Processeurs d'annotation
2.) Fichier -> Autres paramètres -> Paramètres par défaut -> Compilateur -> Processeurs d'annotation
Représentation graphique de la résolution de ce problème.
Commencez par activer les processeurs d'annotation et essayez. Cela peut ou peut ne pas fonctionner.
Si vous postez cela, vous pouvez installer le plugin Lombok depuis intellij. (Après l’installation, Intellij redémarrera pour l’activer. Assurez-vous donc d’enregistrer votre travail. (Intellij enregistre toutes les modifications avant de redémarrer, juste pour être sûr). ) capture d'écran ci-dessous:
Comme noté 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'annotations pour qu'ils fonctionnent avec lombok". Cela a résolu mon problème. Notez que j’ai ajouté le plug-in Scala avant de recevoir cette erreur. Je suppose donc que le plug-in a modifié certains des paramètres ci-dessus.
il existe un plugin pour intellij. voir ici: https://projectlombok.org/download.html
Si vous avez vérifié ces deux étapes comme suit
et toujours avoir des erreurs alors veuillez vérifier le compilateur - s'il s'agit deJAVACou Eclipse .
Vous pouvez vérifier le compilateur dans Préférences -> Construction, Exécution, Déploiement -> Compilateur -> Compilateur Java.
Changez le compilateur Use en Javac (s’il s’agit d’Eclipse). C'est ce qui a fonctionné pour moi.
Avez-vous lombok comme dépendance de votre projet? lombok.jar doit figurer sur le chemin de classe lors de la compilation du projet, qui utilise l'une des annotations de lombok.
J'étais sur Mac
Voici ma version IntelliJ IDEA et Mac - IntelliJ IDEA 2017.1.5 Version n ° IU-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 aussi dû installer le plugin Lombok pour que cela fonctionne.
3.) Intellij IDEA -> Préférences -> Plug-ins -> Parcourir les référentiels-> Recherchez "Lombok" -> installer le plug-in -> Appliquer et redémarrer IDEA
1 installer le plugin Lombok pour IDEA
Idée Intellij -> Préférences -> Plug-ins -> taper lombok -> Rechercher dans les référentiels -> installer -> redémarrer IDEA
2 plug config lombok plugin
Activer le traitement des annotations le fera fonctionner
Mais si vous êtes sur un Mac, assurez-vous d'activer le traitement des annotations aux deux emplacements suivants:
Intellij Idea -> Préférences -> Construire, Exécution, Déploiement -> 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".
Pour ceux qui ont encore des problèmes:
Outre les étapes ci-dessus d'activation des processeurs d'annotation et d'installation du plug-in IntelliJ Lombok, j'ai également dû Construire -> Reconstruire le projet.
Pour que cela fonctionne, installez simplement le "Lombok Plugin" pour IntelliJ. Vous n'avez rien à faire pour activer "Processeurs d'annotation", comme l'ont suggéré d'autres commentateurs. (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 référentiels", recherchez "Lombok" et installez le plugin Lombok. Vous serez invité à redémarrer IntelliJ. Ensuite, vous devriez pouvoir compiler à partir d’IntelliJ et vous ne recevrez plus d’inspections d’erreur.
Cela n'a pas fonctionné pour moi avec aucune 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>
J'ai eu un problème similaire lors de la construction avec JDK8, redéfini le projet sur JDK7 et cela a bien fonctionné. Peut-être une version plus ancienne de Lombok qui ne sera pas compilée sous JDK8.
Si l'attribut foo
est booléen, il fournit isFoo()
plutôt que getFoo()
de Lombok @Data.
Il peut arriver que, même si vous l'avez configuré correctement et qu'il soit visible parmi les bibliothèques et dans la liste des dépendances de Gradle, IntelliJ ne l'a toujours pas dans le chemin d'accès aux classes. 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 plug-in est installé et que le traitement des annotations est activé, comme indiqué dans d'autres réponses.
Si vous avez toujours des annotations non reconnues, placez le curseur dessus, appuyez sur ALT + ENTRÉE (ou OPTION + ENTRÉE) pour voir si vous avez une option de menu Add library: Gragle: org.projectlombok:lombok:VERSION to class path
. Si vous pouvez le voir, choisissez celui-ci et il peut résoudre votre problème.
Vous pouvez vérifier la bibliothèque et son étendue dans: Onglet Paramètres du projet/Modules/Dépendances (recherchez lombok ici).
Juste pour référence en utilisant IntelliJ 2018.3, j'ai résolu ce problème (en utilisant l'annotation @Data
pour insérer getter/setter
) en procédant comme suit:
N'oubliez pas de Appliquer le changement.
Meilleurs vœux :)
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 de la classe de générateur interrompt la génération de code-octet dans Maven - examinez vos sources si elles ont de telles importations statiques. Cela affecte maven plugin, donc la compilation échouera sur d'autres systèmes de compilation en dehors d'IntelliJ IDEA.
Assurez-vous qu'il est ajouté correctement
dependencies {
...
compileOnly 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
}
Installez le plug-in ci-dessous et redémarrez le 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
Vous pouvez corriger cannot find symbol variable log
lors de l'utilisation de lombok dans IntelliJ IDEA 2017.1.3 en procédant comme suit:
Préférences IntelliJ> Construire, Exécuter, Déployer> Annotation Processeurs> [Vérifier] Activer le traitement des annotations> Appliquer
Dans mon cas, toutes les choses mentionnées ci-dessous étaient en place et cela ne fonctionnait toujours pas.
Pour résoudre mes problèmes, je devais
Voir les captures d'écran sur la mise à jour et la reconstruction du projet ci-dessous.
FWIW - Lorsque vous définissez les annotations du compilateur comme décrit ci-dessus, veillez également à rechercher les profils que vous utilisez, tels que "Processeurs d'annotations par défaut Maven".
J'ai rencontré ce problème après la mise à jour de IDEA à 2018.3. Je devais mettre à jour tous les plugins existants
Faced similar problem.
Below fixed worked for me.
téléchargez (à partir d'ici [ https://projectlombok.org/download][1] ) et ajoutez le fichier jar dans la structure de votre projet.
Étapes: Fichier-> Structure de projet-> Bibliothèques globales
J'ai eu le même problème, je vais donc laisser cela ici pour une référence future à mon oubli.
Lorsque Alt+Enter
sur l'annotation @Slf4j
, j'ai choisi par erreur une importation non valide. Donc, si le code ne compile pas, assurez-vous d'importer:
import lombok.extern.slf4j.Slf4j;