Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

645
Views
El complemento del compilador Maven no ve las anotaciones de Lombok

en mi aplicación tengo 3 módulos como este:

 permissions (parent pom) |---permission-api (just api, without main spring class) |---permission-service (spring boot app)

En pom padre en el módulo principal tengo pom que contiene:

 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <modules> <module>permissions-api</module> <module>permissions-service</module> </modules>

y algunas dependencias. Ahora quiero construir todo mi proyecto con maven clean install. El módulo Permission-api está construido (no hay problema con las anotaciones de lombok). En pom, la única referencia a lombok es:

 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>

De todos modos, cuando trato de compilar solo el servicio de permisos o el proyecto completo, tengo errores de compilación como este:

 cannot find symbol [ERROR] symbol: method getPermissionsList() [ERROR] location: variable employee of type permissions.model.entity.Employee

Sé que debería agregar maven-compiler-plugin a pom.xml (también traté de agregar esto al pom principal) y lo hice, pero no ayuda:

 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <configuration> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build>

¿Puedes decirme qué estoy haciendo mal?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

La dependencia, como en projectlombok.org , debe estar en el ámbito 'provisto', lo que significa que solo se requiere para la compilación, pero no se necesita en tiempo de ejecución:

 <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> <scope>provided</scope> </dependency> </dependencies>

Esto debería ser suficiente.

over 4 years ago · Santiago Trujillo Report

0

Mientras tanto encontré una solución. Todo comenzó a funcionar cuando agrego:

 <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-envers</artifactId> <version>${hibernate.version}</version> </dependency>

Probablemente esa dependencia faltante estaba causando el primer error de compilación y el compilador maven mostró incorrectamente las siguientes "anotaciones faltantes" de lombok como errores de compilación también.

over 4 years ago · Santiago Trujillo Report

0

Cuando usa true opcional, está evitando que la dependencia se transfiera a sus hijos de forma transitiva. Eliminar opcional y debería estar bien.

 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!