Lombok: @Value y @FieldDefaults deben omitir los campos estáticos

Creado en 5 dic. 2016  ·  3Comentarios  ·  Fuente: projectlombok/lombok

@Value y @FieldDefaults agregan los modificadores privados y finales a los campos si es posible. Este comportamiento está influenciado por @NonFinal y @PackagePrivate .

Por ejemplo, campos, esto tiene sentido. Pero para los campos no finales estáticos privados del paquete, este es un efecto secundario inesperado de agregar @Value

Comentario más útil

Solo estoy actualizando mi Lombok JAR de 1.16.10 a 1.16.16 y esta "corrección" acaba de acabar con todos mis proyectos.

Mi caso de uso muy simple es poner @UtilityClass y @FieldDefaults(makeFinal = true, level = AccessLevel.PUBLIC) para obtener una clase para almacenar mis constantes.

Ahora, todo está roto en todos mis proyectos y hace que Lombock sea inútil para ese tipo de configuración.
Vuelvo a hacer todo manualmente.

Todos 3 comentarios

¿Sería posible agregar soporte opcional para campos estáticos en @FieldDefaults?

Solo estoy actualizando mi Lombok JAR de 1.16.10 a 1.16.16 y esta "corrección" acaba de acabar con todos mis proyectos.

Mi caso de uso muy simple es poner @UtilityClass y @FieldDefaults(makeFinal = true, level = AccessLevel.PUBLIC) para obtener una clase para almacenar mis constantes.

Ahora, todo está roto en todos mis proyectos y hace que Lombock sea inútil para ese tipo de configuración.
Vuelvo a hacer todo manualmente.

Otro caso de uso simple: en mis "beans POJO" (por ejemplo: <strong i="5">@Entity</strong> @Data clases serializables), uso @FieldDefaults(level = AccessLevel.PRIVATE) , como seguramente casi todo el mundo usa Lombok.
Ahora tengo que escribir manualmente que serialVersionUID es privado.

Pero, de hecho, lo uso en un archivo "lombok.config" para tenerlo por defecto en todo el proyecto. Así que tengo que buscar todos mis campos estáticos y hacerlos privados manualmente donde sea necesario ...

Parecen 2 cosas pequeñas (combinadas con mi publicación anterior), pero en la gran empresa para la que estoy trabajando, porque todas las aplicaciones creadas recientemente (los últimos 2 años) (al menos una docena) usan una configuración de dependencia principal de Maven, incluida Lombok , ese rey de la modificación provoca no tan poco trabajo a la hora de actualizar ...

¿Fue útil esta página
0 / 5 - 0 calificaciones