No puedo comstackr proyecto cuando estoy usando Lombok bajo IntelliJ IDEA

Intento utilizar Lombok en mi proyecto que desarrollo usando IntelliJ IDEA 11.

Instalé el complemento de terceros para IDEA y parece funcionar bien porque IDEA ve todos los métodos / campos autogenerados.

Entonces tengo una clase que usa Slf4j. Lo anoté como esto

import lombok.extern.slf4j.Slf4j; @Slf4j public class TestClass { public TestClass() { log.info("Hello!"); } } 

Pero cuando construyo mi comstackdor de proyecto escupe: cannot find symbol variable log .

¿Podría decirme qué me falta aquí?

Actualización: Resultó que es un proceso de anotación RequestFactory que falla.

 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 

¿Alguna idea sobre soluciones temporales?

Actualización2: Tal vez no es algo que los lectores quieran escuchar, pero terminé cambiando a Scala .

Lo he arreglado en IDEA 12 configurando la checkbox Enable annotation processing en:

Configuración -> Comstackdor -> Procesadores de anotación

Para IDEA 2016.2:

Preferencias …> Build, Execution, Deployment> Compiler> Annotation Processors

Habilitar el proceso de anotación lo hará funcionar

Pero si está en una Mac , asegúrese de habilitar el proceso de anotación (marque la checkbox) en ambos lugares disponibles.

1.) Idea de Intellij -> Preferencias -> Comstackdor -> Procesadores de anotación

2.) Archivo -> Otras configuraciones -> Configuración predeterminada -> Comstackdor -> Procesadores de anotación

Representación de la imagen para resolver este problema.

Primero habilita los procesadores de anotación y prueba. Esto puede o no funcionar. enter image description here

Publica eso, puedes instalar el plugin lombok desde intellij, (Después de la instalación, Intellij se reiniciará para habilitar el plugin, así que asegúrate de guardar tu trabajo. (Intellij guarda todos los cambios antes de reiniciar, solo para estar seguros). ) captura de pantalla a continuación:

enter image description here

Como se indica aquí , cite: “Debería activar la opción del comstackdor externo y habilitar los procesadores de anotación o deshabilitar el comstackdor externo y deshabilitar todos los comstackdores de anotación para que funcionen con lombok”. Esto solucionó mi problema. Tenga en cuenta que agregué el complemento Scala antes de recibir este error, por lo que sospecho que el complemento cambió algunas de las configuraciones anteriores.

hay un complemento para intellij. mira aquí: https://projectlombok.org/download.html

¿Tienes lombok como dependencia de tu proyecto? lombok.jar debe estar en el classpath durante la comstackción del proyecto, que está utilizando cualquiera de las anotaciones de lombok.

Si ha verificado estos dos pasos de la siguiente manera

  1. Habilitar anotaciones: se trata de una comprobación realizada en las preferencias de IntelliJ.
  2. Importación de lombok a IntelliJ classPath (Preferencias -> Complementos)

y sigue recibiendo errores , compruebe el comstackdor , si es JAVAC o ECLIPSE .

Puede verificar el comstackdor en Preferencias -> Comstackción, Ejecución, Despliegue -> Comstackdor -> Comstackdor Java.

Cambie el comstackdor Usar a Javac (si es Eclipse). Esto es lo que funcionó para mí.

Para aquellos de ustedes que todavía tienen problemas:

Además de los pasos anteriores de habilitar procesadores de anotación e instalar el complemento IntelliJ Lombok, también tuve que comstackr -> Reconstruir proyecto.

1, instale el complemento lombok para IDEA

Intellij Idea -> Preferencias -> Complementos -> escriba en lombok -> Buscar en repositorys -> instalar -> reiniciar IDEA

2, config lombok plugin

Habilitar el proceso de anotación lo hará funcionar

Pero si está en una Mac, asegúrese de habilitar el procesamiento de anotaciones en los siguientes dos lugares:

Intellij Idea -> Preferences -> Build, Execution, Deployment -> Compiler -> Annotation Processors, marque la checkbox “Habilitar el proceso de anotación”. Archivo -> Otras configuraciones -> Configuración predeterminada -> Comstackción, Ejecución, Despliegue -> Comstackdor -> Procesadores de anotación, marque la checkbox “Habilitar el proceso de anotación”.

Estaba en Mac

Esta es mi IntelliJ IDEA y la versión Mac – IntelliJ IDEA 2017.1.5 Build # IU-171.4694.70 — Mac OS X 10.12

Además de habilitar el procesamiento de anotación (marque la checkbox) en estos 2 lugares.

1.) Intellij IDEA -> Preferencias -> Comstackdor -> Procesadores de anotaciones

.

2.) Archivo -> Otras configuraciones -> Configuración predeterminada -> Comstackdor -> Procesadores de anotación

Tuve que instalar el complemento de Lombok para que funcione.

3.) Intellij IDEA -> Preferencias -> Complementos -> Examinar repositorys-> Buscar “Lombok” -> instalar plugin -> Aplicar y reiniciar IDEA

Tuve un problema similar cuando construí con JDK8, configuré el proyecto de nuevo en JDK7 y funcionó bien. Podría ser una versión anterior de Lombok que no se comstackrá bajo JDK8.

Tuve el mismo problema, así que lo dejaré aquí para referencia futura de mi inconsciencia.

Cuando Alt+Enter en la anotación @Slf4j , elegí erróneamente la importación no válida. Entonces, si el código no se comstack, asegúrese de importar:

import lombok.extern.slf4j.Slf4j;

FWIW: al configurar las anotaciones del comstackdor como se describe arriba, asegúrese de que también comprueba si hay algún perfil que esté usando, como “procesadores de anotaciones predeterminadas de Maven”.

Puede suceder que incluso si lo tiene configurado correctamente y es visible entre las bibliotecas y en la lista de dependencias de Gradle, IntelliJ aún no lo tiene en la ruta de la clase. O está allí, pero configurado con un scope diferente (por ejemplo: prueba en lugar de comstackr).

Primero, asegúrese de tener el plugin instalado y el procesamiento de anotación habilitado, como se indica en otras respuestas.

Si todavía tiene una anotación no reconocida, coloque el cursor sobre ella, presione ALT + ENTRAR (u OPCIÓN + ENTRAR) y vea si tiene una opción de menú Add library: Gragle: org.projectlombok:lombok:VERSION to class path . Si puede verlo, elija este y puede resolver su problema.

Puede consultar la biblioteca y su scope en: Configuración del proyecto / pestaña Módulos / Dependencias (busque lombok allí)

Para que esto funcione, simplemente instala el “Plugin de Lombok” para IntelliJ. No necesita hacer nada para habilitar “Procesadores de anotación”, como han sugerido algunos otros comentaristas. (He probado esto con la última versión de IntelliJ IDEA, actualmente 2017.1.2). Para instalar el complemento, vaya a Configuración, luego a Complementos, luego haga clic en el botón “Buscar repositorys”, luego busque “Lombok” e instale el Complemento de Lombok. Se le pedirá que reinicie IntelliJ. Después, debería poder comstackr desde IntelliJ y no recibirá más inspecciones de errores.

Si probaste todas las soluciones presentadas aquí y aún no puedes comstackr las fonts, también mira aquí: La importación estática de la clase constructora rompe la generación de bytecode en Maven : mira tus fonts si tiene tales importaciones estáticas. Esto afecta al plugin maven, por lo que la comstackción fallará en otros sistemas de comstackción fuera de IntelliJ IDEA.

En mi caso, tenía todas las cosas mencionadas a continuación en su lugar y todavía no estaba funcionando.

  1. Tuve el complemento lombok instalado correctamente
  2. Procesadores de anotación, también verificados.
  3. Mi comstackdor de Java se estableció en JAVAC

Para solucionar mis problemas tuve que

  1. Actualice lombok a la última versión (v0.15) al 7 de octubre de 2017.
  2. Reinicie IntelliJ.
  3. Reconstruir proyecto

Vea capturas de pantalla sobre cómo actualizar y reconstruir el proyecto a continuación.

Cómo actualizar lombok

Cómo reconstruir el proyecto

No funcionó para mí con ninguna de las soluciones anteriores. Agregué provided a la dependencia en pom.xml y funcionó.

  org.projectlombok lombok 1.16.20 provided  

Puede corregirlo cannot find symbol variable log cuando usa lombok en IntelliJ IDEA 2017.1.3 al hacer esto:

Preferencias de IntelliJ> Comstackción, ejecución, implementación> Procesadores de anotaciones> [Comprobar] Habilitar el proceso de anotación> Aplicar