티스토리 뷰

 

프로젝트를 진행하거나 개인 공부를 진행하면서 요구하는 자바 버전이 다른 경우가 생깁니다.

버전을 바꿀 때 마다 일일히 자바 버전을 변경하기 귀찮은 경우가 많기 때문에, 쉽게 변경하는 방법을 소개하겠습니다.

 

/usr/libexec/java_home -V

MAC OS를 기준으로, 현재 컴퓨터에 설치되어 있는 모든 자바 버젼을 보여주는 명령어입니다. 필요한 버전을 다운받는 방법은 쉽게 찾을 수 있으므로 생략하겠습니다. 해당 명령어를 입력시 아래와 같은 결과를 볼 수 있습니다.

위에서 부터 자바 11, 자바 8 버전이 설치되어 있는 것을 알 수 있습니다. java -version을 입력하면 현재 시스템에 적용되고 있는 버전을 알 수 있습니다. 

현재 자바 11버전이 적용되고 있음을 알 수 있습니다. 만약 자바 8 버전으로 변경하고 싶다면 

export JAVA_HOME=$(/usr/libexec/java_home -v $version);
export PATH=${PATH}:$JAVA_HOME/bin:

version에 해당하는 버젼을 넣은 후 터미널에 위 두 명령어를 입력하면 됩니다. 

java -version로 확인하면 자바 8로 변경된 것을 알 수 있습니다. 그러나 터미널을 다시 켜면 원래 버전으로 돌아간 것을 알 수 있습니다.

위 두 명령어만 입력한 경우 현재 터미널에만 적용되기 때문입니다.

 

시스템 전체에 적용하기 위해선 터미널 설정파일에 값을 설정해야합니다.

저는 zsh를 사용하고 있기 때문에 홈 디렉토리에 있는 .zshrc파일을 수정하면 되고, bash를 사용하는 경투 bash .bash_profile 파일을 수정하면 됩니다.

 

vi ~/.zshrc
#.zshrc

jdk() {
        version=$1
        unset JAVA_HOME;
        export JAVA_HOME=$(/usr/libexec/java_home -v $version);
        export PATH=${PATH}:$JAVA_HOME/bin:
        java -version
}


# Java 1.8
#export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
#export PATH=${PATH}:$JAVA_HOME/bin:


# Java 11
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
export PATH=${PATH}:$JAVA_HOME/bin:

zshrc안에 기본적으로 사용하고 싶은 버젼을 export하는 명령어를 추가합니다. 그러면 터미널이 실행되기 전 터미널 설정 파일을 읽은 후 시스템에 적용되는 것을 볼 수 있습니다. 현재 자바 11 버젼을 사용하기 위해 자바 8 버전은 주석 처리를 한 상태입니다. 다른 자바 버전이 필요한 경우 해당 버전을 설치한 후 경로를 복사해 같은 방법으로 적용할 수 있습니다.

 

jdk()는 현재 사용하고 있는 터미널에서 자바 버전을 쉽게 변경하도록 하는 메서드입니다. 터미널에 jdk $version을 입력하면 현재 터미널에서 자바 버전이 변경된 것을 알 수 있습니다. 시스템 전체에 변경되는 것은 아니기에 필요한 경우에 적절히 사용할 수 있습니다.

댓글