여러가지 개발 작업을 하다 보면 다양한 JDK 버전이 요구 될때가 있습니다. 상위 버전을 설치해 두면 하위 호환이 되기 때문에, 크게 문제 되지 않는 경우가 대부분인데, source code 호환성을 잘 유지 하기 위해서 명시적으로 JDK 버전을 맞추는것도 좋은 방법 입니다. IntelliJ 와 같은 좋은 IDE 는 code 호환성을 잘 유지해 주지만 그렇지 않은 경우도 발생하기도 합니다. 오늘은 여러버전의 JDK 를 설치하고 IntelliJ 에서 추가 및 project 에 사용하는 것에 대해서 알려 드리겠습니다.
OpenJDK 사용하는 이유, bundle 로 설치하는 이유
Oracle 의 java license 문제가 생기고 부터, JDK 설치를 잘해서 사용해야 합니다. 개발부터, 배포까지 동일한 환경으로 구성하기 위해 OpenJDK 를 사용할수 있습니다.
최근 대부분 운영 환경은 OpenJDK 를 이용하고 있기 때문에 OpenJDK 로 환경을 구성하는편이 좋다고 생각 합니다.
Windows 환경에서는 전통적으로 Installer 를 이용해서 Operation System 에 추가적인설치를 한것으로 생각할 수 있는데, Java 설치는 binary file 을 program files 하위 경로에 설치하고, 환경 변수 지정하는 방식으로 처리 됩니다. Windows Installing 이기에, 관련 정보들이 Registry 나 기타 추가 기록 되겠지만, 부수적인 작업들로, Java 구동에는 필수적이지 않습니다. 그래서 bundle 형태로 설치해도 문제 없이 정상 동작 합니다. bundle 형태로 설치하면 여러 버전을 선택적으로 사용가능해서 해당 방법을 추천 드립니다.
Bundle 형태로 설치하는 것은 binary file을 받아 폴더에 압축을 풀어두는 방식입니다. 필요한 버전들을 폴더 별로 관리하기에 쓰는 사람의 목적에 따라 선택하고, OS 에 영향이 없기에 얼마든지 변경이 가능합니다. 저는 이같은 방식으로 Open JDK 8, 17 버전을 구성해두었습니다.
OpenJDK 다운
OpenJDK 공식 사이트에서는 OpenJDK 에 대한 설명과 관리에 대해서 명시하고 있습니다. Source code repository github 정보도 나와있습니다. Linux 나 타 시스템 배포판에서 OpenJDK 를 설치하는 방법등이 나와 있습니다. 그리고 지금 필요한 것은 Source Code 를 Build 한 Binary File 입니다.
OpenJDK Source Code 를 Build 하여 binary 를 제공하는 site 는 다수가 있습니다. 대표적으로 Oracle, MS, amazon 등이 있습니다. 어느것을 사용해도 동일하게 동작 합니다. 동일 source code 로 build 하여 binary 를 제공하는것이기 떄문입니다.
저는 Oracle Build 버전(jdk.java.net) 에서 다운받아 설치 했습니다.

- OpenJDK 공식 사이트: https://openjdk.org
- Download site (Oracle Build) : https://jdk.java.net
- Archive site (이전버전): https://jdk.java.net/archive
IntelliJ SDK 설정
File > Project Structure 에서, Platform Settings 에 SDKs 항목이 있습니다.
+ 버튼을 눌러 Add JDK… 으로 압축해제한 다운받은 OpenJDK 폴더를 선택해 주면 됩니다.

Project SDK 변경
SDK 가 추가 되었다면, Project Settings > Project 에 가서 SDK 를 변경할 수 있습니다.

Gradle JVM 변경
Spring Boot 3.x 버전 부터는 JDK 17 버전 이상을 사용해야 합니다. 이와 함께, Gradle Build tool 을 선택하였다면, Gradle 에서 사용하는 JVM 도 변경해주어야 정상적으로 build 가 됩니다.
File > Settings > Build, Excution, Deployment > Build Tools > Gradle 에서, Gradle Projects 의 Gradle JVM 에서 17버전 이상으로 변경하면 됩니다. 찾아 들어가기 어렵다면, Settings 화면에서 Gradle 로 검색하면 간단히 나옵니다.

위와 같이 변경 하였다면, IDE Gradle tool 에서 Reload All Project 를 눌러 (새로고침버튼) Build 여부를 확인하면 됩니다. Spring Boot 3.x 버전을 사용하려니, JDK 버전 문제가 발생해서 위와 같이 정리해 보았습니다. 어느 누군가에게도 도움이 된다면 좋겠습니다.