Hoy me topé con un error bastante molesto mientras trabajaba en un proyecto Java con Spring Boot y Lombok.
Todo parecía estar bien con el código, pero la compilación lanzaba este mensaje:
java: no se puede encontrar el símbolo builderClass
Investigando el problema
Después de revisar varias veces el código, descubrí que el problema no era por cómo usaba Lombok, sino por una mala configuración del pom.xml en mi proyecto Maven.
🔍 ¿Qué estaba mal?
- No tenía bien configurado el maven-compiler-plugin.
- Además, por alguna razón, en el spring-boot-maven-plugin se estaba excluyendo Lombok.
Eso hizo que las anotaciones como @builder no fueran reconocidas al compilar.
<!-- Ejemplo de configuración problemática -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<!-- Excluyendo lombok accidentalmente -->
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
✅ ¿Cómo lo solucioné?
Bastó con corregir el maven-compiler-plugin, agregar la versión correcta de Java y configurar el annotationProcessorPaths.
Acá te dejo un ejemplo de configuración funcional
<!-- Solución al método builder -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.28</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
</path>
</annotationProcessorPaths>
<release>${java.version}</release>
</configuration>
</plugin>
También me aseguré de que Lombok no esté siendo excluido por ningún plugin. Una vez hecho eso, todo funcionó perfecto: @builder volvió a hacer su magia 💫
🙌 Conclusión
A veces el problema no está en el código, sino en la configuración.
Si estás usando Lombok y te pasa algo similar, revisá tu pom.xml.
Ojalá esta experiencia te ayude a evitar dolores de cabeza ✌️
Top comments (0)