Volver a la página principal
viernes 31 enero 2025
18

Error: java: variable not initialized in the default constructor en IntelliJ IDEA

Este error ocurre en Java cuando una variable de instancia no se inicializa en el constructor por defecto. Es común en proyectos con Lombok cuando la anotación @Autowired o @RequiredArgsConstructor no funciona correctamente debido a la configuración de los annotation processors en IntelliJ IDEA.

Solución

1. Habilitar Annotation Processors en IntelliJ IDEA

1. Abre IntelliJ IDEA y ve a:

FileSettingsBuild, Execution, DeploymentCompilerAnnotation Processors

2. Asegúrate de que la opción Enable annotation processing está activada.

3. Selecciona Obtain processors from project classpath.

4. Aplica los cambios y reinicia IntelliJ IDEA.

2. Verificar Dependencias en pom.xml (Maven) o build.gradle (Gradle)

Si usas Maven, revisa que la dependencia de Lombok esté correctamente configurada:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.30</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>

Si usas Gradle, asegúrate de incluir:

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.30'
    annotationProcessor 'org.projectlombok:lombok:1.18.30'
}

3. Usar @RequiredArgsConstructor correctamente

Si estás utilizando Spring Boot y Lombok, usa la anotación @RequiredArgsConstructor en la clase donde se inyecta imageCreateService:

import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

@Service
@RequiredArgsConstructor
public class ImageService {
    private final ImageCreateService imageCreateService;

    // Métodos del servicio
}

Esto asegurará que imageCreateService se inicialice correctamente a través del constructor generado automáticamente.

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer