본문 바로가기

SW개발/개발환경

Eclipse 2024-03 Lombok plugin 오류

#새로운 Apple Silicon 맥북에서 Eclipse 설치 후 프로젝트 import 중 오류 발생

티스토리 기본 테마 제공 이미지

요즘은 Java 프로젝트에 Eclipse를 거의 사용하지 않고 IntelliJ Idea CE버전을 주로 이용하고 있다.

그런데, 새로운 맥북에 Eclipse를 설치하고 기존 Gradle 프로젝트를 임포트 하는데 오류 발생.

Eclipse Problems View

Eclipse의 Problems 뷰에 보여지는 오류메시지는 아래와 같고 이 정보만으로는 진짜 오류가 뭔지 아직 알 수 없다.

Lombok annotation handler class lombok.eclipse.handlers.HandleEqualsAndHashCode failed - See error log.

 

Eclipse의 해당 Workspace 아래의 ". metadata"폴더에 보면 있는 ". log" 파일을 직접 조사해보아야 한다.

아래와 같은 오류 메시지가 보인다.

Eclipse Workspace의 ".log" 로그파일의 오류 로그

!ENTRY org.eclipse.jdt.core 4 0 2024-03-16 18:53:06.666
!MESSAGE Lombok annotation handler class lombok.eclipse.handlers.HandleEqualsAndHashCode failed
!STACK 0
java.lang.NoSuchMethodError: 'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
	at lombok.eclipse.handlers.EclipseHandlerUtil.createAnnotation(EclipseHandlerUtil.java:1335)
	at lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:105)
	at lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:237)
	at lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:265)
	at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:107)
	at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
	at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:74)
	at lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
	at lombok.eclipse.EclipseNode.traverse(EclipseNode.java:69)
	at lombok.eclipse.EclipseAST.traverse(EclipseAST.java:224)
	at lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:222)
	at lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:183)
	at lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:107)
	at jdk.internal.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)

 

해당 오류로 구글링과 챗지피팅, 퍼플렉시팅 결과, 아래와 같은 내용을 찾게 되었다.

흠, Eclipse에 버그로 보고되어 있는 내용이었네.

Eclipse의 버그 리포트 (출처 : https://bugs.eclipse.org/bugs/show_bug.cgi?id=583026)
Lombok Plugin 버그 (출처 : https://bugs.eclipse.org/bugs/show_bug.cgi?id=583026)

 

그리고, 위의 Eclipse 버그페이지에서 이야기한 ProjecLlombok의 Github 이슈를 따라가 본다.

Eclipse 2024-03 버전을 위한 지원 요청 (출처 : https://github.com/projectlombok/lombok/issues/3620)

 

현재 진행 중인 수정사항으로 앞으로 반영될 예정인 것을 확인할 수 있다.

#그래서 뭘 어떻게 해야 하지?

결국 당분간 Eclipse의 새 버전이 아닌 이전 버전을 사용하여 문제를 해결했다.

다만, 이 경우 Homebrew를 이용해서는 이전 버전을 설치하는 것이 복잡한 관계로 직접 Eclipse 사이트에서 이전 버전을 다운로드하여 다시 설치하는 방법을 택했다.

Eclipse JEE 2023-12 버전 설치 (출처 : https://www.eclipse.org/downloads/packages/)
Warning만 보이고 Error는 없는 편안한 화면

 

Warning 메시지들은 무시하고 편안해지자.