Taking baby-developer steps

자바 버전을 낮춰보자 (Java 17버전 설치 방법 / 19버전 -> 17 버전 다운그레이드) 본문

CS 지식/서버 구축

자바 버전을 낮춰보자 (Java 17버전 설치 방법 / 19버전 -> 17 버전 다운그레이드)

Surin Lee 2023. 10. 20. 11:24

현재 내 컴퓨터에서(터미널에서) 디폴트로 사용하는 java와 javac의 버전을 다음 명령어로 확인 할 수 있다.

java -version
javac -version

 

내가 사용하고 있는 mac OS에서는 brew를 이용해 openjdk@17를 깔았다.

brew install openjdk@17

그런데, 이 패키지 어디에 깔렸는지를 알 필요가 있었다. 

다음 명령어로 brew가 해당 패키지를 어느 경로에 저장했는지 알 수 있다.

 

brew --prefix openjdk@17

보통은 /user/local/opt/openjdk@17/ 이 Homebrew를 사용해 OpenJDK 17을 설치했을 때의 기본 설치 위치라고 하는데, 나는 /opt/homebrew/opt/openjdk@17 에 설치되어있었다.

 

다음 명령어를 입력해, bash 프로파일에 Java 환경 변수를 추가한다.

( 위 명령어를 통해 알게된, 본인 로컬 환경에서 해당 버전 java 패키지가 깔린 경로를 PATH에 넣어야한다.)

echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.bash_profile

변경사항을 적용하기 위해 다음 명령어를 입력하거나 터미널을 재시작한다.

source ~/.bash_profile

마지막으로, java와 javac 버전 모두 제대로 설정되었는지 확인한다.

------------------------------------------------------------------------

위 방법 대로 하니 터미널을 다시 켰을때 java -version이 다시 19버전으로 돌아가 있는 문제점이 있었다.

웹 검색을 통해 JAVA_HOME 환경 변수 설정을 하면 문제가 해결 될 것을 알았다.

그러나, 위에서 알게된 경로를 JAVA_HOME 환경 변수의 value로 설정하고 값을 출력하면 아무것도 나오지 않음을 확인했다.

위에서 확인한 /opt/homebrew/opt/openjdk@17 경로가 실제 디렉토리의 경로가 아닌, 심볼릭 링크여서 생긴 문제였다.

다음 명령어로 일단 심볼릭 링크가 가리키는 실제 경로를 알아낸다.

ls -l /opt/homebrew/opt/openjdk@17

-> 뒤의 경로가 해당 심볼릭 링크가 가리키는 실제 디렉토리의 경로이다.

이제 알아낸 실제 디렉토리의 경로를 다음 명령어의 value에 넣어 JAVA_HOME 환경변수를 설정하고 터미널을 재 시작하거나 변경사항을 적용하는 명령어를 입력한다.

echo 'export JAVA_HOME="/opt/homebrew/opt/your_path_here"' >> ~/.zshrc
source ~/.zshrc
Comments