본문으로 바로가기
반응형

멀쩡하게 project를 import 했는데 빌드를 해 보면 아래와 같은 메시지가 뜨는 경우가 있습니다.

java: variable type not initialized in the default constructor

이는 lombok이 정상동작 하지 않아서이며, annotation processor를 추가하여야만 정상적으로 동작합니다.

일단 pom.xml 파일에 아래와 같이 lombok사용을 위한 dependency를 추가합니다.

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

이때 maven 최신 버전은 아래 링크에서 확인후 최신버전을 사용하도록 합니다.

https://mvnrepository.com/artifact/org.projectlombok/lombok

 

Maven Repository: org.projectlombok » lombok

Spice up your java: Automatic Resource Management, automatic generation of getters, setters, equals, hashCode and toString, and more! VersionRepositoryUsagesDate1.18.x1.18.16Central633Oct, 20201.18.14Central164Oct, 20201.18.12Central2,110Feb, 20201.18.10Ce

mvnrepository.com

이렇게만 추가 되어있을경우 위에서 언급한 기본 생성자에 기본 타입이 초기화 안되었다...라는 에러가 뜬다면 pom.xml파일 안에 <build> 태그안에 annotation processor plug in을  추가해 줘야 합니다.

java: variable type not initialized in the default constructor

<build>
	<plugins>
		...
           ...
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.8.1</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
				<annotationProcessorPaths>
					<path>
						<groupId>org.projectlombok</groupId>
						<artifactId>lombok</artifactId>
						<version>1.18.16</version>
					</path>
				</annotationProcessorPaths>
			</configuration>
		</plugin>
            
	</plugins>
</build>

 

물론 3.8.1이라고 넣은 version명도 최신 버전으로 넣어야 겠죠?

아래 링크에서 확인 가능합니다.

(물론 lombok 버전도 dependency에 넣은 버전과 맞춰주어야 합니다.)

https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin

반응형