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

5voto

mplushnikov Points 56

Lombok est-il une dépendance de votre projet ? lombok.jar doit se trouver dans le classpath lors de la compilation du projet qui utilise l'une des annotations lombok.

0 votes

Il s'avère qu'il échoue dans le processeur d'annotation. J'ai mis à jour ma question avec le journal de sortie.

4voto

L'inclusion de ce qui suit dans le pom.xml est ce qui a fonctionné pour moi :

<build>
        <defaultGoal>spring-boot:run</defaultGoal>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <annotationProcessorPaths>
...
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${lombok.version}</version>
                        </path>       
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
</build>

0 votes

J'ai dû ajouter requires org.slf4j; à mole-info.java aussi

3voto

JasnaRB Points 71

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.

4 votes

J'ai également dû invalider le cache et redémarrer avant qu'Intellij ne cesse de se plaindre.

3voto

Bluce Liu Points 536

1installer le plugin lombok pour IDEA

Intellij Idea -> Préférences -> Plugins -> tapez lombok -> Recherche dans les dépôts -> installer -> redémarrer IDEA

2 configurer le plugin lombok

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 -> Préférences -> Construction, 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 -> Construction, exécution, déploiement -> Compilateur -> Processeurs d'annotation, cochez la case "Activer le traitement des annotations".

0 votes

Je ne vois pas de paramètres par défaut dans Autres paramètres dans IntelliJ. Sont-ils toujours présents ? J'utilise l'édition Ultimate - version 11.03.

3voto

so-random-dude Points 5411

J'étais sur Mac

Voici mon IntelliJ IDEA et ma version Mac - IntelliJ IDEA 2017.1.5 Build #IU-171.4694.70 --- Mac OS X 10.12

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

1.) Intellij IDEA -> Préférences -> Compilateur -> Processeurs d'annotations

.

2.) Fichier -> Autres paramètres -> Paramètres par défaut -> Compilateur -> Processeurs d'annotation

J'ai également dû installer le plugin Lombok pour que cela fonctionne.

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

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