AllArgsConstructor de lombok no fue encontrado por Android Studio
Cuando creo una nueva clase de Java con uno o más campos y adjunto la anotación @AllArgsConstructor
de lombok a ella, entonces recibo este mensaje
Error:(9, 1) error: cannot find symbol class ConstructorProperties
- Android guarda la imagen de la cámara en el almacenamiento local
- Método sincronizado de Java
- Retrofit 2 Método RequestBody writeTo () llamado dos veces
- Android Detener la notificación de brindis por programación?
- Robolectric's Shadow Object y Mocking
Desde la consola Gradle Build. Pude reproducir esto creando un nuevo proyecto vacío de Android 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 se menciona por gradle, por lo que es el AllArgsConstructor
si no hay campos.
¿Se trata de un error de Lombok o se encuentra este error en la parte frontal de la pantalla?
- Java.lang.IllegalStateException: No se puede realizar esta acción después de onSaveInstanceState: - Error en Fragment
- Scala logra un buen rendimiento en Android? (Junio de 2011)
- ¿Hay alguna manera de hacer compresión de imágenes y ahorrar más rápido en Android?
- Grabación de vídeo de la aplicación Android cuando la pantalla está desactivada
- Vincular al servicio desde el nuevo Contexto para cambios de configuración o vincular desde el contexto de la aplicación?
- ¿El sistema android incluye JVM?
- ¿Cómo implementar consultas complejas utilizando un proveedor de contenido?
- @IntDef anotación y devolver valor de otro código que no se puede anotar o cómo desactivar temporalmente la anotación de afectar el código?
Lombok genera @ConstructorProperties
de forma predeterminada para todos los constructores generados. En Android, esa anotación no está disponible. Como se menciona en la documentación es posible suprimir la generación ya sea especificando suppressConstructorProperties=true
para cada @XxxArgsConstructor, o usando la siguiente línea en un archivo lombok.config
alto nivel:
lombok.anyConstructor.suppressConstructorProperties = true
Divulgación: Soy un desarrollador de Lombok
Necesita agregar supresión en sus AllArgsConstructors. Si no desea agregar un nuevo archivo de configuración, simplemente puede hacerlo:
@AllArgsConstructor(suppressConstructorProperties = true)
Divulgación: No soy un desarrollador de Lombok: D
También:
Si apunta a Java 8 en su proyecto de Android (por ejemplo, mediante retrolambda), este error no aparecerá.
- Android java.lang.IllegalStateException: No se pudo ejecutar el método de la actividad
- ¿Es un 45% activo instala en el mercado androide "alto / bajo / no sé" para la aplicación?