Java
[Mac] Java 17 설치 및 버전 변경 (JDK 17)
s_ih_yun
2025. 6. 3. 23:50
728x90
JDK21이 설치된 환경에서 17로 내려야 될 상황이 있었습니다 😒
1. Homebrew를 통해 JDK 17 설치
$ brew install openjdk@17
- homebrew : macOS에서 패키지를 관리하는 도구
- homebrew 저장소에서 openjdk@17 패키지를 찾아 설치하는 명령어
- 설치 후 디렉토리 : /opt/homebrew/opt/openjdk@17
2. JDK 디렉토리를 macOS가 인식할 수 있는 Symbolic Link 생성
$ sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
- macOS는 기본적으로 JDK 설치 경로를 /Library/Java/JavaVirtualMachines 아래서 탐색
- 위 명령어는 심볼릭 링크(ln -s)를 만들어 openjdk@17의 설치 경로를 ↑로 연결
- -sfn 옵션
- -s : 심볼릭 링크
- -f : 강제로 덮어쓰기
- -n : 대상이 디렉토리라도 심볼릭 링크로 만들기
- -sfn 옵션
- System Preferences > Java 나 macOS 시스템이 JDK17을 인식할 수 있게 한다
3. PATH 환경 변수 설정
$ echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
- 환경 변수 설정
- 터미널에서 java, javac 명령을 사용할 때, JDK 17의 bin 디렉토리를 먼저 찾도록 설정
$ source ~/.zshrc
- 현재 터미널 세션에 방금 변경한 설정 즉시 적용
- (기존) 새 터미널 창을 열 때 적용됨
- 기존 설치된 JDK 20과 설정 충돌있어 설정을 추가하는 게 아닌 파일 수정 필요
- 충돌 코드(~/.zshrc)
- JAVA_HOME : JDK 20을 가리키고 있으며, 경로에 bin까지 들어가서는 안됨
- PATH : 윗 줄에 먼저 JDK 20이 들어가는 라인이 있어 먼저 실행될 가능성 높음
- CLASSPATH : 오류는 아니지만, Maven/Gradle이 관리하기 때문에 특별한 이유 없으면 설정할 필요 X
export JAVA_HOME=/Users/syun/Library/Java/JavaVirtualMachines/openjdk-20.0.1/Contents/Home/bin
export CLASSPATH=/Users/syun/Library/Java/JavaVirtualMachines/openjdk-20.0.1/Contents/Home/lib
export PATH=$JAVA_HOME/bin:$PATH
export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"
3. ~/.zshrc 파일에서 JAVA_HOME, PATH 환경 변수 설정
$ vi ~/.zshrc
$ source ~/.zshrc
- ~/.zshrc 파일 : Zsh 셸의 설정 파일
- 터미널을 실행할 때마다 자동으로 적용될 수 있도록 함
- 아래 내용으로 설정 파일 변경
export JAVA_HOME="/opt/homebrew/opt/openjdk@17"
export PATH="$JAVA_HOME/bin:$PATH"
4. 결과 확인
$ java -version
*openjdk version "17.0.15" ...*
$ echo $JAVA_HOME
*/opt/homebrew/opt/openjdk@17*
📌 References
728x90