Lombok no genera getter y setter

101

Intenté enviar un proyecto basado en Maven a otra computadora y HORROR, ¡¡marcadores rojos por todas partes !!

Sin embargo, se mvn clean installestá construyendo bien.

Rápidamente, me di cuenta de que no está generando Lombok captadores y definidores para mis clases, aunque el @Gettery @Setterestán siendo reconocidos correctamente por Eclipse.

Ambas computadoras usan la misma versión de Maven (3.0.4) pero diferentes JDK (1.6_23 y 1.6_33). Ambos usan Eclipse Indigo de 32 bits. ¿Tiene una idea de cómo solucionar el problema?

Eildosa
fuente
Para obtener instrucciones completas, consulte stackoverflow.com/questions/3418865/… . Esto también incluye cómo iniciar Eclipse a través de un atajo.
Roel Spilker
Hice todos los pasos anteriores PERO aún no funcionaba. Miré pom.xml de nuevo y comenté <! - <optional> true </optional> -> que venía por defecto. Luego agregué este <! - <scope> proporcionado </scope> -> pero también lo comenté.
logixplayer

Respuestas:

141

Al comenzar con una nueva instalación de eclipse, de hecho, necesita "instalar" Lombok antes de poder usarlo.

  1. Vaya donde está su jar de Lombok (por ejemplo, (por ejemplo, puede encontrar en ~/.m2/repository/org/projectlombok/lombok/1.16.10/lombok-1.16.10.jar), ejecútelo (Ejemplo:) java -jar lombok-1.16.10.jar. Debería aparecer una ventana, busque su eclipse.exeubicación.
  2. Haga clic en instalar.
  3. Inicie Eclipse, actualice la configuración del proyecto en todos los proyectos y listo.
Eildosa
fuente
15
Si incluso después de realizar los pasos anteriores no funciona, entonces SALGA y EMPIECE eclipse nuevamente. Archivo simple-> Reiniciar no funciona. Es necesario EXIT y Start explícitos.
nanosoft
1
Creo que hice esto mientras el eclipse estaba cerrado
Eildosa
2
Si estaba cerrado, funciona con el próximo inicio. Pero si ya está iniciado y se requiere EXIT y start explícitos.
nanosoft
2
Bien hecho @Elidosa --- Está funcionando, pero sí, es necesario salir y comenzar el eclipse, solo reiniciar no funciona
SMT
También necesitaba limpiar los proyectos para eliminar errores de compilación
Aditya
83
  • Si usa STS . Debes tener Lombok instalado en tu Eclipse ejecutando lombok-xyz.jar

  • Intente los siguientes pasos:

    1. Incluya pom en Maven.
    2. Salir / Apagar STS
    3. Encuentra lombok Jar en ~ / .m2 / repository / org / projectlombok / lombok / version.x
    4. Desde el símbolo del sistema / Shell java -jar lombok-1.x.y.jar Instalador de Project Lombok

    5. Iniciar STS

Eso es todo.

EDITAR : Hice esto y todavía mostraba errores, como se menciona en los comentarios. Así que actualicé el proyecto: haga clic con el botón derecho en el proyecto -> Maven -> Actualizar proyecto y los errores desaparecieron.

GoutamS
fuente
Todavía estoy enfrentando el problema, ¿no estoy seguro de qué está pasando?
Pra_A
¿Tiene algún mensaje de error? ¿Puedes importar la clase en tus archivos Pojo?
GoutamS
@Prateek En caso de que no funcione, cambie la versión de lombok y vuelva a intentarlo
GoutamS
1
Descargué el lombok.jar manualmente, lo ejecuté y luego reinicié eclipse y reconstruí los proyectos, ¡funcionó! ...
ArifMustafa
Tuve el mismo problema, intenté todo pero no funcionó. Entonces lo que hice fue instalar de nuevo y antes de hacer nada instalé Lombok. Funcionó. Además, asegúrese de comenzar con el espacio de trabajo nuevo. No funcionó con el anterior.
Rajeev
44

Tenga en cuenta que si está utilizando IntelliJ, querrá instalar el complemento Lombok (disponible en la configuración de IDE) y también habilitar el procesamiento de anotaciones.

PacificSky
fuente
17
Aún así, varios habrían llegado a este hilo cuando se enfrentaban a lo mismo y no sabían si el complemento es necesario para IntelliJ. pulgar hacia arriba
Vaibs
Me fue útil por ejemplo. Yo uso Intellij! ¡Gracias!
Peter Szalay
8

Si usa eclipse. Debe tener lombok instalado en su Eclipse ejecutando lombok-xyz.jar (por ejemplo, puede encontrarlo en ~/.m2/repository/org/projectlombok/lombok/1.12.6/lombok-1.12.6.jar).

Cuando se abrió la ventana de instalación, debe elegir la ubicación de su Eclipse. Y deja que instale lombok en el interior. Debes reiniciar tu Eclipse después.

sancho21
fuente
2
"Salir explícitamente y luego empezar de nuevo". Archivo normal -> Reiniciar no funciona.
nanosoft
6

Descarga Lombok Jar, vamos a hacer la descarga en nuestro nombre:

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

Ahora ... mvn clean install comando en el proyecto recién creado para descargar este jar en el repositorio local. Vaya a la ubicación del jar, ejecute el símbolo del sistema, ejecute el comando: java -jar lombok-1.16.18.jar

ingrese la descripción de la imagen aquí

haga clic en el botón "Especificar ubicación" y busque la ruta de eclipse.exe COMO: ingrese la descripción de la imagen aquí

finalmente instale esto haciendo clic en "Instalar / Actualizar"

Tiago Medici
fuente
Esta es la solución más simple que he encontrado hasta ahora. Funcionó. Gracias.
Freelancer
5

Estas son instrucciones de la línea de comandos donde la versión gráfica anterior no está disponible o no puede abrir el archivo jar de Lombok haciendo doble clic, como en Ubuntu.

En el momento de escribir este artículo, usar Lombok no es tan sencillo como agregar una dependencia en su archivo xml POM y agregar la anotación. Estos son los siguientes pasos:

1) Localice donde maven descarga su archivo jar de Lombok; Por lo general, está en la carpeta .m2 dentro de su directorio de inicio. Luego ejecute el siguiente comando.

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

ejemplo de uso:

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/

el comando anterior básicamente realiza una actualización de configuración en su IDE .inio configurationarchivo algo como a continuación:

-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

esto asegura que el IDE comprenda las anotaciones @Datao @Gettero @Setter. Es extraño que tuviera que ser tan complejo.

Sharma neshant
fuente
aquí estoy en el año 2020 todavía encontrando útil su publicación. ¡Gracias!
YazidEF
2

Para Sprint STS: coloque el archivo lombok.jar en la carpeta exe de eclipse / sts y agregue la siguiente entrada al STS.ini.

-javaagent:lombok.jar
ManishSingh
fuente
1

Estoy usando el estudio de desarrollo Red hat Jboss. Resolví este problema por:

  1. El proyecto tiene lombokdependencia. Primero busque en su .m2 repositorio y encuentre el lombokfrasco

  2. Haga doble clic en el frasco, verá que el instalador allí especifica la ruta para IDE como C:\Users\xxx\devstudio\studio\devstudio.exe

  3. Reinicie el IDE y actualice el proyecto maven, el error desaparecerá

kranti
fuente
1
¡Bienvenido a StackOverflow! Intente escribir sus respuestas de forma más legible, utilizando listas correctas y markdown language like this.
MS Berends
1

1) Ejecute el comando java -jar lombok-1.16.10.jar. Esto debe ejecutarse desde el directorio de su archivo lombok.jar.

2) Agregue la ubicación manualmente seleccionando el archivo eclipse.ini (directorio de eclipse instalado). A través de " Especificar ubicación "

Nota: No agregue eclipse.exe porque dañará el editor de eclipse.

Cómo agregar el archivo eclipse.ini

Prakasam Dhamodhiran
fuente
1

También encontré este problema, en mi caso, es porque actualizo mi IntelliJ IDEA sin actualizar el complemento Lombok. Entonces son incompatibles.

Daria Yu
fuente
Simplemente actualice el complemento Lombok en Intellij Idea y reinicie el IDE
Daria Yu
1

no basta con añadir la dependencia de Lombok. También tendrás que instalar el complemento de Lombok.

Puede obtener su archivo jar de Lombok navegando a través (solo si ha agregado la dependencia en cualquiera de los POM).

m2 \ repositorio \ org \ projectlombok \ lombok \ 1.18.12 \ lombok-1.18.12

Además, si Lombok no pudo encontrar el IDE, especifique manualmente el .exe de su IDE y haga clic en instalar.

Reinicie su IDE.

Eso es.

Si tiene algún problema,

A continuación se muestra un hermoso y breve video sobre cómo instalar el complemento de Lombok.

Solo para ahorrar tiempo, puede comenzar desde 1:40.

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

Si todavía no funciona,

Verifique que lombok.jar esté en su archivo sts.ini (archivo de configuración sts, presente en la carpeta sts).

-javaagent: lombok.jar

Haz Alt + F5. Esto actualizará su maven.

Cierre su IDE y vuelva a iniciarlo.

Ashish Singh
fuente
1
¿Cómo es que esta respuesta no tuvo ni un solo voto? Esto realmente ayudó. Gracias una tonelada.
sofs1
1

Si está utilizando maven y Eclipse, debe instalarlo manualmente.

  1. Verificar pom

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

  1. ir a Dependencias de Maven

ingrese la descripción de la imagen aquí

  1. Haga clic derecho en la biblioteca y Ejecutar como aplicación Java

ingrese la descripción de la imagen aquí

  1. Especifique la ubicación IDE, instale y cierre IDE (Eclipse). ingrese la descripción de la imagen aquí
Faxon
fuente
Seguí todos los pasos que describiste, pero con eclipse 2019-12 y lombok 1.18.12, eclipse no reconoce que hay una anotación \ @getter o \ @setter en mi modelo. ¿Existe siquiera un getter o setter generado por lombok?
Ben
1

Usuario de Intellij, asegúrese de tener 3 cosas,

  1. Dependencia de Lombok
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>provided</scope>
        </dependency>
  1. Complemento IntelliJ para Lombok

  2. Anotación de Lombok, como @Getter @Setter(asegúrese de que provenga de lombok y no de otro lugar)

y debería funcionar.

Rishabh Agarwal
fuente
0

Cuando use lombok en una instalación nueva de Eclipse o STS, debe:

  1. Instale el tarro de lombok que puede obtener en https://projectlombok.org/download . Ejecute el jar (como administrador si usa Windows) y especifique la ruta a su instalación de Eclipse / STS.

  2. Reinicie su IDE (Eclipse o STS)

  3. Dar algo de tiempo para que eclipse genere los archivos de clase para lombok (puede tomar hasta 4 minutos en algunos casos)

Fua
fuente
0

Para Spring ToolSuite 4 en Mac, cambiaron el nombre del ini a SpringToolSuite4.ini.

Puede renombrarlo o copiarlo a STS.ini para que lombok lo reconozca. Luego, cópielo de nuevo al nombre original para que el IDE lo lea. (Sin embargo, no he probado si los enlaces simbólicos funcionan).

Chad
fuente
0

Lo que tuve que hacer fue instalar lomboken el directorio de instalación de eclipse.

Descargue el lombok.jardesde aquí y luego instálelo usando el siguiente comando:

java -jar lombok.jar

Después de eso, asegúrese de que lombok.jarse agregue en su ruta de compilación. Pero asegúrese de no agregarlo dos veces agregando una vez maveno gradleuna vez más en la ruta del eclipse.

Después de eso cleany buildel proyecto de nuevo y ver que todos los errores desaparecen.

Pritam Banerjee
fuente
0

Si usa STS. Debe tener Lombok instalado en su Eclipse ejecutando lombok-abc.jar

Siga los pasos:

-Incluye pom en Maven. -Salir / Apagar STS (obligatorio) -Buscar lombok Jar en ~ .m2 \ repository \ org \ projectlombok \ lombok \ 1.18.12 -Desde el comando ingrese la descripción de la imagen aquí

Después ingrese la descripción de la imagen aquí

Luego, seleccione STS.exe ingrese la descripción de la imagen aquí

Luego, haga clic para actualizar / actualizar

ingrese la descripción de la imagen aquí

luego Salir del instalador

Codificación feliz

Blockquote

Rajat Kumar
fuente
es respuesta duplicada
Tiago Medici
-1

Si está utilizando maven, vaya a las dependencias de maven en la estructura de su proyecto, luego ejecute lombok jar como proyecto java, lo instalará, saldrá y comenzará eclipse

akshay
fuente