sts projectlombok plugin org mac instalar for java android android-studio lombok

projectlombok - lombok java maven



AllArgsConstructor de lombok no se encuentra en Android Studio (5)

Debe agregar la supresión en sus AllArgsConstructors. Si no desea agregar un nuevo archivo de configuración, simplemente puede hacer esto:

@AllArgsConstructor(suppressConstructorProperties = true)

Divulgación: no soy un desarrollador de Lombok: D

Cuando creo una nueva clase Java con uno o más campos y adjunto la anotación @AllArgsConstructor de lombok a ella, recibo este mensaje

Error:(9, 1) error: cannot find symbol class ConstructorProperties

desde la consola Gradle Build. Pude reproducir esto creando un nuevo proyecto de Android vacío con esta configuración.

La Clase (nunca utilizada o instanciada)

@lombok.AllArgsConstructor public class Model { int foo; String bar; }

build.gradle:

dependencies { compile fileTree(dir: ''libs'', include: [''*.jar'']) compile ''com.android.support:appcompat-v7:21.0.3'' provided ''org.projectlombok:lombok:1.14.8'' }

@Getter y @Setter de lombok no causan ningún problema e incluso el @NoArgsConstructor no es mencionado por gradle, por lo que es AllArgsConstructor si no hay campos.

¿Se trata de un error de Lombok o está ubicado frente a la pantalla?


Lombok genera las @ConstructorProperties por defecto para todos los constructores generados. En Android, esa anotación no está disponible. Como se menciona en la documentation , es posible suprimir la generación especificando suppressConstructorProperties=true para cada @XxxArgsConstructor, o usando la siguiente línea en un archivo de alto nivel lombok.config :

lombok.anyConstructor.suppressConstructorProperties = true

Divulgación: Soy un desarrollador de Lombok


También:

Si se dirige a Java 8 en su proyecto de Android (por ejemplo, mediante el uso de retrolambda), este error no aparecerá.


Tuve el mismo problema después de actualizar Android Studio.

Ninguna de las otras respuestas, incluida la aceptada, me ayudó.

Finalmente, he actualizado la versión de lombok a 1.16.20 (la última para hoy) y el error desapareció.

Espero que le ahorre tiempo a alguien.


@AllArgsConstructor(suppressConstructorProperties = true) ya no funciona. Si intentas esto, obtienes lo siguiente:

Esta característica obsoleta ya no es compatible. Quítalo puede crear un archivo lombok.config con ''lombok.anyConstructor.suppressConstructorProperties = true''.

La solución de trabajo es agregar lombok.anyConstructor.suppressConstructorProperties = true al archivo lombok.config .