Lombok ne génère ni getter ni setter


101

J'ai juste essayé d'envoyer un projet basé sur Maven vers un autre ordinateur et HORREUR, des marqueurs rouges partout !!

Cependant, la mvn clean installconstruction est très bien.

Rapidement, j'ai remarqué que Lombok ne générait pas de getters et de setters pour mes classes, bien que les @Getteret @Settersoient correctement reconnus par Eclipse.

Les deux ordinateurs utilisent la même version de Maven (3.0.4) mais des JDK différents (1.6_23 et 1.6_33). Ils utilisent tous les deux Eclipse Indigo 32 bits. Avez-vous une idée sur la façon de résoudre le problème?


Pour obtenir des instructions complètes, consultez stackoverflow.com/questions/3418865/… . Cela comprend également comment démarrer Eclipse via un raccourci.
Roel Spilker


J'ai fait toutes les étapes ci-dessus MAIS cela ne fonctionnait toujours pas. J'ai regardé à nouveau pom.xml et j'ai commenté <! - <optional> true </optional> -> qui est venu par défaut. J'ai ajouté plus tard ce <! - <scope> fourni </scope> -> mais je l'ai également commenté.
logixplayer

Réponses:


142

Lorsque vous démarrez avec une nouvelle installation eclipse, vous devez en fait "installer" Lombok avant de pouvoir l'utiliser.

  1. Allez où est votre jar Lombok (par exemple (par exemple, vous pouvez le trouver dans ~/.m2/repository/org/projectlombok/lombok/1.16.10/lombok-1.16.10.jar), exécutez-le (Exemple:) java -jar lombok-1.16.10.jar. Une fenêtre devrait apparaître, accédez à votre eclipse.exeemplacement.
  2. Cliquez sur installer.
  3. Lancez Eclipse, mettez à jour la configuration du projet sur tous les projets et le tour est joué.

15
Si même après avoir suivi les étapes ci-dessus, cela ne fonctionne pas, EXIT et START éclipsent à nouveau. Simple File-> Restart ne fonctionne pas. EXIT et Start explicites sont nécessaires.
nanosoft

1
Je crois que j'ai fait cela pendant que l'éclipse était fermée
Eildosa

2
S'il était fermé, cela fonctionnera bien avec le prochain démarrage. Mais s'il est déjà démarré et que EXIT explicite et démarrage est requis.
nanosoft

2
Bien joué @Elidosa --- Cela fonctionne, mais oui, il faut quitter et démarrer eclipse, seul le redémarrage ne fonctionne pas
SMT

J'avais également besoin de nettoyer les projets pour supprimer les erreurs de compilation
Aditya

83
  • Si vous utilisez STS . Vous devez avoir installé Lombok dans votre Eclipse en exécutant lombok-xyz.jar

  • Veuillez essayer les étapes suivantes:

    1. Inclut le pom dans Maven.
    2. Quitter / Arrêter STS
    3. Trouvez lombok Jar dans ~ / .m2 / repository / org / projectlombok / lombok / version.x
    4. À partir de l'invite de commande / Shell java -jar lombok-1.x.y.jar Installateur du projet Lombok

    5. Démarrer STS

C'est tout.

EDIT : Je l'ai fait et montrait toujours des erreurs, comme mentionné dans les commentaires. J'ai donc mis à jour le projet: clic droit sur projet -> Maven -> Mettre à jour le projet et les erreurs ont disparu.


Je suis toujours confronté au problème, je ne suis pas sûr de ce qui ne va pas?
Pra_A

Avez-vous un message d'erreur? Pouvez-vous importer la classe dans vos fichiers Pojo?
GoutamS

@Prateek En cas de non fonctionnement, veuillez changer la version de lombok et réessayer
GoutamS

1
Je télécharge le lombok.jar manuellement, je l'ai exécuté et plus tard j'ai redémarré eclipse et reconstruit des projets, ça a marché! ...
ArifMustafa

J'ai eu le même problème tout essayé mais n'a pas fonctionné. Ensuite, j'ai installé une nouvelle version et avant de faire quoi que ce soit j'ai installé Lombok. Ça a marché. Assurez-vous également de commencer avec le nouvel espace de travail. Cela ne fonctionnait pas avec l'ancien.
Rajeev

44

Notez que si vous utilisez IntelliJ, vous souhaiterez installer le plugin Lombok (disponible dans les paramètres IDE) et activer également le traitement des annotations.


17
Plusieurs seraient encore arrivés à ce fil alors qu'ils étaient confrontés à la même chose et ne savaient pas si le plugin est nécessaire pour IntelliJ.
Thumbs

M'a été utile par exemple. J'utilise Intellij! Merci!
Peter Szalay

8

Si vous utilisez eclipse. Vous devez avoir installé lombok dans votre Eclipse en exécutant lombok-xyz.jar (par exemple, vous pouvez trouver dans ~/.m2/repository/org/projectlombok/lombok/1.12.6/lombok-1.12.6.jar).

À l'ouverture de la fenêtre d'installation, vous devez choisir l'emplacement de votre Eclipse. Et laissez-le installer lombok à l'intérieur. Vous devez redémarrer votre Eclipse par la suite.


2
"Quittez explicitement et recommencez.". Fichier normal -> Redémarrer ne fonctionne pas.
nanosoft

6

Téléchargez Lombok Jar, faisons le téléchargement en notre nom:

 <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
    </dependency>

Maintenant ... commande mvn clean install sur le projet nouvellement créé pour télécharger ce fichier jar dans le référentiel local. Accédez à l'emplacement du fichier jar, exécutez l'invite de commande, exécutez la commande: java -jar lombok-1.16.18.jar

entrez la description de l'image ici

cliquez sur le bouton "Spécifier l'emplacement" et localisez le chemin eclipse.exe COMME: entrez la description de l'image ici

enfin installez-le en cliquant sur "Installer / Mettre à jour"


C'est la solution la plus simple que j'ai trouvée jusqu'à présent. Ça a marché. Merci.
Freelancer

5

Ce sont des instructions en ligne de commande où la version graphique ci-dessus n'est pas disponible ou vous ne pouvez pas ouvrir le fichier jar Lombok par double-clic, comme dans Ubuntu.

Au moment de l'écriture, l'utilisation de Lombok n'est pas simple, car il suffit d'ajouter une dépendance dans votre fichier xml POM et d'ajouter l'annotation. Voici les prochaines étapes:

1) Localisez où votre fichier JAR Lombok est téléchargé par maven; Il se trouve généralement dans le dossier .m2 de votre répertoire personnel. Exécutez ensuite la commande suivante.

java -jar lombok-1.16.18.jar install <path of where your IDE is installed>

exemple d'utilisation:

java -jar lombok-x.xx.xx.jar install ~/Downloads/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64/sts-bundle/sts-3.9.1.RELEASE/

la commande ci-dessus effectue essentiellement une mise à jour de la configuration dans votre IDE .iniou configurationfichier quelque chose comme ci-dessous:

-javaagent:/home/neshant/Downloads/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64/sts-bundle/sts-3.9.1.RELEASE/lombok.jar

cela garantit que les annotations @Dataou @Getterou @Settersont comprises par l'EDI. C'est bizarre que ça doive être si complexe.


me voilà en 2020, je trouve toujours votre message utile. Merci!
YazidEF

2

Pour Sprint STS - Placez le fichier lombok.jar dans le dossier eclipse / sts exe et ajoutez l'entrée suivante au STS.ini.

-javaagent:lombok.jar

1

J'utilise le studio de développement Red Hat Jboss. J'ai résolu ce problème en:

  1. Le projet a une lombokdépendance. Regardez d'abord dans votre .m2 référentiel et trouvez le lombokpot

  2. Double-cliquez sur le jar, vous verrez l'installateur là spécifier le chemin pour l'IDE comme C:\Users\xxx\devstudio\studio\devstudio.exe

  3. Redémarrez l'IDE et mettez à jour le projet maven, l'erreur disparaîtra


1
Bienvenue dans StackOverflow! Veuillez essayer de rédiger vos réponses de manière plus lisible, en utilisant des listes et markdown language like this.
MS Berends

1

1) Exécutez la commande java -jar lombok-1.16.10.jar. Cela doit être exécuté à partir du répertoire de votre fichier lombok.jar.

2) Ajoutez l'emplacement manuellement en sélectionnant le fichier eclipse.ini (répertoire eclipse installé). Via " Spécifier l'emplacement "

Remarque: n'ajoutez pas eclipse.exe car cela endommagera l'éditeur d'éclipse.

Comment ajouter le fichier eclipse.ini


1

J'ai également rencontré ce problème, pour mon cas, c'est parce que j'ai mis à jour mon IntelliJ IDEA sans mettre à niveau le plugin Lombok. Ils sont donc incompatibles.


Mettez simplement à niveau le plug-in Lombok dans Intellij Idea et redémarrez l'EDI
Daria Yu

1

il ne suffit pas d'ajouter la dépendance de Lombok. Vous devrez également installer le plugin de Lombok.

Vous pouvez obtenir votre fichier jar Lombok en naviguant (uniquement si vous avez ajouté la dépendance dans l'un des POM.)

m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 \ lombok-1.18.12

De plus, si Lombok ne trouve pas l'EDI, spécifiez manuellement le .exe de votre IDE et cliquez sur installer.

Redémarrez votre IDE.

C'est tout.

Si vous rencontrez un problème,

Vous trouverez ci-dessous une belle et courte vidéo sur la manière d'installer le plugin de Lombok.

Juste pour gagner du temps, vous pouvez commencer à 1h40.

https://www.youtube.com/watch?v=5K6NNX-GGDI

Si ça ne marche toujours pas,

Vérifiez que lombok.jar est présent dans votre fichier sts.ini (fichier de configuration sts, présent dans le dossier sts.)

-javaagent: lombok.jar

Faites une Alt + F5. Cela mettra à jour votre maven.

Fermez votre IDE et redémarrez-le.


1
Comment se fait-il que cette réponse n'ait pas eu un seul vote. Cela a vraiment aidé. Merci beaucoup.
sofs1

1

Si vous utilisez maven et Eclipse, doit être installé manuellement.

  1. Vérifier pom

 <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
            <type>jar</type>
        </dependency>

  1. aller à Dépendances Maven

entrez la description de l'image ici

  1. Faites un clic droit dans la bibliothèque et exécutez en tant qu'application Java

entrez la description de l'image ici

  1. Spécifiez l'emplacement IDE, installez et fermez l'IDE (Eclipse). entrez la description de l'image ici

J'ai suivi toutes les étapes que vous avez décrites mais avec eclipse 2019-12 et lombok 1.18.12, eclipse ne reconnaît pas qu'il y a une annotation \ @getter ou \ @setter dans mon modèle. Y a-t-il même un getter ou un setter généré par lombok?
Ben

1

Utilisateur Intellij, assurez-vous d'avoir 3 choses,

  1. Dépendance de Lombok
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>provided</scope>
        </dependency>
  1. Plugin IntelliJ pour Lombok

  2. Annotation Lombok, comme @Getter @Setter(assurez-vous qu'elle vient de Lombok et non d'ailleurs)

et cela devrait fonctionner.


0

Lorsque vous utilisez lombok sur une nouvelle installation d'Eclipse ou STS, vous devez:

  1. Installez le jar lombok que vous pouvez obtenir sur https://projectlombok.org/download . Exécutez le fichier jar (en tant qu'administrateur si vous utilisez Windows) et spécifiez le chemin d'accès à votre installation Eclipse / STS.

  2. Redémarrez votre IDE (Eclipse ou STS)

  3. Donnez du temps à eclipse pour générer les fichiers de classe pour lombok (cela peut prendre jusqu'à 4 minutes dans certains cas)


0

Pour Spring ToolSuite 4 sur Mac, ils ont renommé l'ini en SpringToolSuite4.ini.

Vous pouvez le renommer ou le copier dans STS.ini pour qu'il soit reconnu par lombok. Puis recopiez-le dans le nom d'origine pour qu'il soit lu par l'EDI. (Je n'ai pas essayé si les liens symboliques fonctionnent cependant.)



0

Ce que je devais faire était d'installer lombokdans le répertoire d'installation eclipse.

Téléchargez le à lombok.jarpartir d' ici , puis installez-le à l'aide de la commande suivante:

java -jar lombok.jar

Après cela, assurez-vous que le lombok.jarest ajouté dans votre chemin de construction. Mais assurez-vous de ne pas l'ajouter deux fois en ajoutant une fois par mavenou gradleet encore une fois dans le chemin de l'éclipse.

Après cela cleanet buildle projet à nouveau et voir toutes les erreurs disparaître.


0

Si vous utilisez STS. Vous devez avoir installé Lombok dans votre Eclipse en exécutant lombok-abc.jar

Veuillez suivre les étapes:

-Inclut pom dans Maven. -Quitter / Arrêter STS (doit) -Trouver le Jar lombok dans ~ .m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 -De la commande entrez la description de l'image ici

Ensuite entrez la description de l'image ici

Ensuite, sélectionnez le STS.exe entrez la description de l'image ici

Ensuite, cliquez pour mettre à jour / mettre à jour

entrez la description de l'image ici

puis quittez l'installateur

Codage heureux

Blockquote


c'est une réponse dupliquée
Tiago Medici


-1

Si vous utilisez maven, allez dans les dépendances maven dans la structure de votre projet puis exécutez lombok jar en tant que projet java, il l'installera puis quitter et démarrer eclipse

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.