[fix] JDK 21+ 빌드에서 Lombok 애너테이션 프로세서 미동작 수정 (annotationProcessorPaths 등록)#38
Merged
eGovFrameSupport merged 1 commit intoJun 30, 2026
Conversation
JDK 23부터 javac는 클래스패스에서 발견된 애너테이션 프로세서를 기본으로 실행하지 않는다. 이로 인해 lombok 의존성이 provided 스코프로만 선언된 현재 구성에서는 JDK 21+(특히 23/26)로 빌드할 때 Lombok이 동작하지 않아 @Getter/@Setter로 생성되어야 할 접근자(getSearchCondition, setFirstIndex 등)가 만들어지지 않고 'cannot find symbol' 컴파일 오류가 발생한다. maven-compiler-plugin에 annotationProcessorPaths로 lombok을 명시적으로 등록해 해결한다. 버전은 부모(egovframe-web-config-parent)가 관리하는 ${lombok.version}을 그대로 사용한다. release 타깃은 ${java.version}(17) 그대로이며, JDK 17 빌드 동작에는 영향이 없다.
Contributor
Author
|
참고로, 본 변경은 빌드 구성(annotationProcessorPaths)만 단일 주제로 분리한 PR입니다.
|
eGovFrameSupport
approved these changes
Jun 30, 2026
Contributor
|
표준프레임워크에 대한 지속적인 참여에 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
문제
JDK 23부터
javac는 클래스패스에서 발견된 애너테이션 프로세서를 기본으로 실행하지 않습니다(-proc:full을 명시하지 않으면 미실행). 현재lombok은provided스코프 의존성으로만 선언되어 있어, JDK 21+(특히 23/26)로 빌드하면 Lombok이 동작하지 않습니다.그 결과
@Getter/@Setter로 생성되어야 할 접근자가 만들어지지 않아 컴파일이 실패합니다.SampleDefaultVO/SampleVO가 Lombok 사용).변경
maven-compiler-plugin에annotationProcessorPaths로 Lombok을 명시적으로 등록합니다.egovframe-web-config-parent)이 관리하는${lombok.version}을 그대로 사용해 버전 드리프트가 없습니다.release타깃은${java.version}(17) 그대로이며 JDK 17 빌드 동작에 영향이 없습니다.검증
cannot find symbol컴파일 실패 재현.mvn clean test→ BUILD SUCCESS.체크리스트