
다루는 내용
- 메인테이너가 쓰는 JDK 17과 동일한 벤더(BellSoft)와 버전을 설치함.
- 로컬 컴퓨터에 깔린 Gradle을 쓰지 않고, 프로젝트에 포함된 gradlew (Wrapper)를 사용하여 정확히 지정된 gradle 버전을 사용함.
- Spring Java Format 설치 및 Annotation Processor를 설정.
설정 과정
CONTRIBUTION.adoc의 마지막 Working with Code 부분을 보면 아래와 같이 준수해야함을 알 수 있습니다.
1. Spring Java Format 설치
./gradlew format
- 저는 Spring Project 오픈소스에서 clone 한 spring boot 프로젝트만 플러그인을 적용하고 싶어 gradlew 로 설치했습니다.
- Intellj의 market place에 있는 곳에서 설치를 진행하면 IDE로 여는 프로젝트에 적용되기 때문입니다.

2. Working with Code에서 브랜치 별로 써야하는 Spring Boot 버전이 있습니다.
- main 브랜치는 무조건 JDK 25로 개발되어야함.
- 3.* 브랜치는 JDK 17로 개발해야함. => 저는 JDK21을 공부하고 있고, Spring Boot 3.4 버전을 사용해본적 있어 3.* 브랜치를 이용할 것입니다.
- 더 이전 브랜치는 JDK 1.8 로 개발


3. JDK 17 버전으로 사용 - Vendor: BellSoft Liberica JDK(문서 권장사항 준수)
- Intellj 에서 다운로드
- Full 이 붙은 경우는 Java UI를 만드는 것을 포함하여 이를 미포함한 BellSoft Liberica JDK 를 선택.

4. Gradle JVM 설정 - 프로젝트 jdk와 동일하게 맞춰야함.

5. annotation processing 켜기
- 인텔리제이에서 우클릭하여 이동하여 파일을 볼 수 있는건 ide에서 제공하는 인덱싱 기능
- annotation processing은 application.properties와 같은 설정파일 및 롬봄이 적용된 코드 빌드할 때 켜저있어야함.
- 컴파일 시점에 프로세서가 동작하여 메타데이터 관련 json을 생성. server.port 설정 키와 ServerProperties 클래스의 port 필드랑 연결됨을 알려줌.

6. 현재 clone한 프로젝트는 원격 main 브랜치와 연결된 로컬의 main브랜치입니다 원격의 3.4.x 브랜치를 최신 버전으로 삼기 위해 upstream 키워드를 remote로 등록합니다. 그 후 로컬 브랜치를 workspace로 브랜치를 변경합니다.
- 로컬 브랜치명은 아직 무엇을 고칠지 모르기 때문에 아무거나 설정합니다.
git remote add upstream https://github.com/spring-projects/spring-boot.git
git fetch upstream // 원격 저장소의 최신 내용을 로컬 저장소에 다운로드
git checkout -b workspace upstream/3.4.x
7. JDK를 21에서 17로 변경하고, 브랜치를 변경한 후 빌드가 성공적으로 되는지 가벼운 모듈로 테스트 진행 'spring-boot-loader-tools'
./gradlew :spring-boot-project:spring-boot-tools:spring-boot-loader-tools:build

지금까지 Spring Boot의 3.4.x 버전의 오픈소스 기여를 위해 환경 설정을 완료했습니다.
'OpenSource Contribution' 카테고리의 다른 글
| [OSS] Spring Boot 오픈소스 첫 기여 성공! (0) | 2025.12.19 |
|---|---|
| [OSS] 04. milestone에 PR등록되다 (간단한 후기) (0) | 2025.11.26 |
| [OSS] 03. Spring Boot 에 첫 Pull Request 날리기 - instanceof 패턴 매칭 적용 + 시도한 것들 (0) | 2025.11.26 |
| [OSS] 01. Spring Boot 오픈소스 기여 -CONTRIBUTING.adoc 정리 (0) | 2025.11.20 |