memostack
article thumbnail
반응형

여러 버전의 JDK 쉽게 관리

컴퓨터에 JDK가 여러개가 설치되어 있는경우, 환경 설정 파일에 JAVA_HOME을 매번 수정해주기 귀찮기 때문에 아래와 같이 설정하면 상대적으로 편하다.

 

JAVA_HOME 경로 확인하기

우선 환경변수를 설정하기 전에 각 버전의 JDK에 해당하는 JAVA_HOME 경로를 알아야 한다. 아래 명령어를 사용하면 쉽게 JAVA_HOME을 확인할 수 있다.

$ /usr/libexec/java_home -V

Matching Java Virtual Machines (2):
    17.0.5 (x86_64) "Amazon.com Inc." - "Amazon Corretto 17" /Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home
    11.0.17 (arm64) "Azul Systems, Inc." - "Zulu 11.60.19" /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home

 

특정 JDK 버전의 JAVA_HOME 경로만 알고 싶으면, -v{버전} 을 옵션으로 넣어준다. 예를들어,

$ /usr/libexec/java_home -v11
/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
$ /usr/libexec/java_home -v17
/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home

 

환경변수 설정

일단 제 컴퓨터에는 JDK가 11하고 17이 설치되어있다. 환경변수 설정에 JAVA_HOME을 따로 설정했다. 

$ vim .zshenv

 

아래와 같이 JAVA_HOME 뒤에 버전명을 추가하여 환경변수를 설정했다.

# JAVA
export JAVA_HOME_V11=$(/usr/libexec/java_home -v11)
export JAVA_HOME_V17=$(/usr/libexec/java_home -v17)

 

그리고 아래줄에 사용할 JDK 버전에 맞는 환경변수 값을 JAVA_HOME에 대입해준다.

 

아래 예시로 보면 JDK11을 사용하기 위해 JAVA_HOME에 JAVA_HOME_V11을 대입했지만, JDK17을 사용하고 싶은 경우, 11은 주석으로 바꾸고, 17을 주석을 풀면 된다.

export JAVA_HOME=$JAVA_HOME_V11
# export JAVA_HOME=$JAVA_HOME_V17

 

환경 변수를 모두 적었다면 저장하고, 스크립트를 실행해준다. 그리고, java 버전을 확인한다.

$ source .zshenv
$ java --version

 

반응형
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!