Lombok non sta generando getter e setter


101

Ho appena provato a inviare un progetto basato su Maven a un altro computer e HORROR, pennarelli rossi ovunque !!

Tuttavia, mvn clean installsta costruendo bene.

Rapidamente, ho notato che Lombok non sta generando getter e setter per le mie classi, sebbene i @Gettere @Settersiano stati correttamente riconosciuti da Eclipse.

Entrambi i computer utilizzano la stessa versione di Maven (3.0.4) ma diversi JDK (1.6_23 e 1.6_33). Entrambi usano Eclipse Indigo 32 bit. Hai un'idea su come risolvere il problema?


Per le istruzioni complete, vedere stackoverflow.com/questions/3418865/… . Questo include anche come avviare Eclipse tramite un collegamento.
Roel Spilker


Ho eseguito tutti i passaggi precedenti MA non funzionava ancora. Ho guardato di nuovo pom.xml e ho commentato <! - <optional> true </optional> -> che era di default. Successivamente ho aggiunto questo <! - <scope> fornito </scope> -> ma l'ho anche commentato.
logixplayer

Risposte:


142

Quando si inizia con una nuova installazione di Eclipse, infatti, è necessario "installare" Lombok prima di poterlo utilizzare.

  1. Vai dove si trova il tuo Lombok jar (es. (Es. Puoi trovarlo in ~/.m2/repository/org/projectlombok/lombok/1.16.10/lombok-1.16.10.jar), eseguilo (Esempio java -jar lombok-1.16.10.jar:) Dovrebbe apparire una finestra, vai alla tua eclipse.exeposizione.
  2. Fare clic su installa.
  3. Avvia Eclipse, aggiorna la configurazione del progetto su tutti i progetti e voilà.

15
Se anche dopo aver eseguito i passaggi precedenti non funziona, quindi EXIT e START eclipse di nuovo. File semplice-> Riavvia non funziona. Sono necessari EXIT e Start espliciti.
nanosoft

1
Credo di averlo fatto mentre Eclipse era chiuso
Eildosa

2
Se è stato chiuso, funziona bene con il prossimo avvio. Ma se è già avviato ed Explicit EXIT and start è richiesto.
nanosoft

2
Ben fatto @Elidosa --- Funziona, ma sì, è necessario uscire e avviare Eclipse, solo il riavvio non funziona
SMT

Avevo anche bisogno di pulire i progetti per rimuovere gli errori di compilazione
Aditya

83
  • Se utilizzi STS . Devi avere Lombok installato nel tuo Eclipse eseguendo lombok-xyz.jar

  • Si prega di provare i seguenti passaggi:

    1. Includi pom in Maven.
    2. Esci / Arresta STS
    3. Trova lombok Jar in ~ / .m2 / repository / org / projectlombok / lombok / version.x
    4. Dal prompt dei comandi / Shell java -jar lombok-1.x.y.jar Installatore di Project Lombok

    5. Avvia STS

È tutto.

EDIT : l'ho fatto e mostravo ancora errori, come menzionato nei commenti. Quindi ho aggiornato il progetto: fai clic con il pulsante destro del mouse su progetto -> Maven -> Aggiorna progetto e gli errori sono scomparsi.


Sto ancora affrontando il problema, non sono sicuro di cosa stia succedendo?
Pra_A

Hai qualche messaggio di errore? Puoi importare la classe nei tuoi file Pojo?
GoutamS

@Prateek Se non funziona, cambia la versione di lombok e riprova
GoutamS

1
Ho scaricato manualmente lombok.jar, l'ho eseguito e in seguito ho riavviato eclipse e ho ricostruito i progetti, ha funzionato! ...
ArifMustafa

Ho avuto lo stesso problema, ho provato tutto ma non ha funzionato. Quindi quello che ho fatto è stato installato di nuovo e prima di fare qualsiasi cosa ho installato Lombok. Ha funzionato. Inoltre, assicurati di iniziare con il nuovo spazio di lavoro. Non ha funzionato con quello vecchio.
Rajeev

44

Tieni presente che se stai utilizzando IntelliJ, ti consigliamo di installare il plug-in Lombok (disponibile dalle impostazioni IDE) e abilitare anche l'elaborazione delle annotazioni.


17
Ancora molti sarebbero arrivati ​​a questo thread quando si trovavano di fronte alla stessa cosa e non sapevano se il plug-in è necessario per IntelliJ. pollice in alto
Vaibs

Mi è stato utile per esempio. Uso Intellij! Grazie!
Peter Szalay

8

Se usi eclipse. Devi avere lombok installato nel tuo Eclipse eseguendo lombok-xyz.jar (ad esempio puoi trovare in~/.m2/repository/org/projectlombok/lombok/1.12.6/lombok-1.12.6.jar ).

Quando si apre la finestra di installazione, è necessario scegliere la posizione del proprio Eclipse. E lascia che installi lombok all'interno. Successivamente è necessario riavviare Eclipse.


2
"Esci esplicitamente e poi ricomincia.". File normale -> Riavvia non funziona.
nanosoft

6

Scarica Lombok Jar, facciamo il download a Maven per nostro conto:

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

Ora ... mvn comando di installazione pulita sul progetto appena creato per scaricare questo jar nel repository locale. Vai alla posizione del jar, esegui il prompt dei comandi, esegui il comando: java -jar lombok-1.16.18.jar

inserisci qui la descrizione dell'immagine

fare clic sul pulsante "Specifica posizione" e individuare il percorso eclipse.exe COME: inserisci qui la descrizione dell'immagine

infine installalo facendo clic su "Installa / Aggiorna"


Questa è la soluzione più semplice che ho trovato fino ad ora. Ha funzionato. Grazie.
Freelance

5

Queste sono istruzioni della riga di comando in cui la versione grafica sopra non è disponibile o non è possibile aprire il file jar Lombok con doppi clic, come in Ubuntu.

Al momento della scrittura, l'utilizzo di Lombok non è semplice come l'aggiunta di una dipendenza nel file xml POM e l'aggiunta dell'annotazione. Questi sono i prossimi passi:

1) Individua dove viene scaricato il tuo file jar Lombok da Maven; Di solito si trova nella cartella .m2 all'interno della directory home. Quindi eseguire il seguente comando.

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

utilizzo di esempio:

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/

il comando sopra fa fondamentalmente un aggiornamento della configurazione nel tuo IDE .inio configurationfile qualcosa come di seguito:

-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

questo assicura che le annotazioni @Dataor @Gettero @Settersiano comprese dall'IDE. È strano che debba essere così complesso.


eccomi nell'anno 2020 a trovare ancora utile il tuo post. Grazie!
YazidEF

2

Per Sprint STS: posizionare il file lombok.jar nella cartella exe eclipse / sts e aggiungere la seguente voce a STS.ini.

-javaagent:lombok.jar

1

Sto usando lo studio di sviluppo Red Hat Jboss. Ho risolto questo problema:

  1. Il progetto ha lombokdipendenza. Prima guarda nel tuo .m2 repository e trova il lombokjar

  2. Fai doppio clic sul jar, vedrai il programma di installazione specificare il percorso per IDE come C:\Users\xxx\devstudio\studio\devstudio.exe

  3. Riavvia l'IDE e aggiorna il progetto Maven l'errore andrà


1
Benvenuto in StackOverflow! Prova a scrivere le tue risposte in modo più leggibile, utilizzando elenchi corretti e markdown language like this.
MS Berends

1

1) Esegui il comando java -jar lombok-1.16.10.jar. Questo deve essere eseguito dalla directory del file lombok.jar.

2) Aggiungere manualmente la posizione selezionando il file eclipse.ini (directory eclipse installata). Tramite " Specifica posizione "

Nota: non aggiungere eclipse.exe perché danneggerà l'editor di eclipse.

Come aggiungere il file eclipse.ini


1

Ho anche riscontrato questo problema, nel mio caso, è perché aggiorno la mia IntelliJ IDEA senza aggiornare il plugin Lombok. Quindi sono incompatibili.


Basta aggiornare il plugin Lombok in Intellij Idea e riavviare l'IDE
Daria Yu

1

solo aggiungere la dipendenza di Lombok non è sufficiente. Dovrai installare anche il plugin di Lombok.

Puoi ottenere il tuo file jar Lombok navigando attraverso (solo se hai aggiunto la dipendenza in uno qualsiasi dei POM.)

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

Inoltre, se Lombok non è riuscito a trovare l'IDE, specifica manualmente il file .exe dell'IDE e fai clic su Installa.

Riavvia il tuo IDE.

Questo è tutto.

In caso di problemi,

Di seguito un bellissimo e breve video su come installare il plugin di Lombok.

Solo per risparmiare tempo, puoi iniziare da 1:40.

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

Se ancora non funziona,

Verifica che lombok.jar sia presente nel tuo file sts.ini (file di configurazione sts, presente nella cartella sts.)

-javaagent: lombok.jar

Fai un Alt + F5. Questo aggiornerà il tuo esperto.

Chiudi il tuo IDE e riavvialo.


1
Come mai questa risposta non ha avuto nemmeno un voto. Questo mi ha davvero aiutato. Grazie mille.
sofs1

1

Se stai usando Maven ed Eclipse, devono essere installati manualmente.

  1. Verifica pom

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

  1. vai a Maven Dependencies

inserisci qui la descrizione dell'immagine

  1. Fare clic con il tasto destro nella libreria ed eseguire come applicazione Java

inserisci qui la descrizione dell'immagine

  1. Specificare l'IDE della posizione, installare e chiudere l'IDE (Eclipse). inserisci qui la descrizione dell'immagine

Ho seguito tutti i passaggi che hai descritto ma con eclipse 2019-12 e lombok 1.18.12, eclipse non riconosce la presenza di un'annotazione \ @getter o \ @setter nel mio modello. C'è anche un getter o un setter generato da lombok?
Ben

1

Utente Intellij, assicurati di avere 3 cose,

  1. Dipendenza da Lombok
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>provided</scope>
        </dependency>
  1. Plugin IntelliJ per Lombok

  2. Annotazione di Lombok, come @Getter @Setter(assicurati che provenga da Lombok e non da qualche altra parte)

e dovrebbe funzionare.


0

Quando si utilizza lombok su una nuova installazione di Eclipse o STS, è necessario:

  1. Installa il lombok jar che puoi ottenere su https://projectlombok.org/download . Eseguire il jar (come amministratore se si utilizza Windows) e specificare il percorso dell'installazione di Eclipse / STS.

  2. Riavvia il tuo IDE (Eclipse o STS)

  3. Dare un po 'di tempo a eclipse per generare i file di classe per lombok (in alcuni casi potrebbero essere necessari fino a 4 minuti)


0

Per Spring ToolSuite 4 su Mac, hanno rinominato ini SpringToolSuite4.ini.

Puoi rinominarlo o copiarlo in STS.ini per essere riconosciuto da lombok. Quindi copiarlo di nuovo nel nome originale per essere letto dall'IDE. (Non ho provato se i collegamenti simbolici funzionano.)



0

Quello che dovevo fare era installare lomboknella directory di installazione di eclipse.

Scarica lombok.jarda qui e installalo utilizzando il seguente comando:

java -jar lombok.jar

Dopodiché assicurati che lombok.jarsia aggiunto nel tuo percorso di build. Ma assicurati di non aggiungerlo due volte aggiungendo una volta attraverso maveno gradlee ancora una volta nel percorso di eclissi.

Dopo di che cleane di buildnuovo il progetto e vedrai che tutti gli errori scompaiono.


0

Se utilizzi STS. Devi avere Lombok installato nel tuo Eclipse eseguendo lombok-abc.jar

Si prega di seguire i passaggi:

-Includi pom in Maven. -Exit / Shutdown STS (must) -Trova lombok Jar in ~ .m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 -Dal comando inserisci qui la descrizione dell'immagine

Dopo di allora inserisci qui la descrizione dell'immagine

Quindi selezionare STS.exe inserisci qui la descrizione dell'immagine

Quindi fare clic per aggiornare / aggiornare

inserisci qui la descrizione dell'immagine

quindi esci dal programma di installazione

Codifica felice

Blockquote


è duplice risposta
Tiago Medici


-1

Se stai usando maven, vai alle dipendenze maven nella struttura del tuo progetto, quindi esegui lombok jar come progetto java, lo installerà, quindi esci e avvia eclipse

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.