@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
¿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 ...
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.