Old Branch

MAC OS에서 JAVA 버전 관리하기

woolbro 2019. 6. 6. 13:04
반응형

맥으로 개발하는 자바개발자라면, 버전 컨트롤에 관하여 한번쯤은 생각 하고 고려 해 보았을 것 같습니다.

 

저도 개발환경 세팅 도중, 제가 공부했었던 자바 버전 관리에 대해 공유하고 더 좋은 방법이 있다면 배우면 좋겠다 라는 생각으로

 

맥환경을 대상으로 어떻게 쉽게 설치된 자바 버전을 확인하고 설정하고 사용할 것인지에 대해서 포스팅 하겠습니다 :)

 


■ 터미널 환경

저는 맥의 기본 터미널이 아닌 iTerm2를 사용했구요, iTerm에서 zsh를 사용해 환경을 설정했습니다

iTerm2는 맥의 기본 터미널이 단조롭고 너무 심플하다고 생각 되실 때 사용하면 좋을 것 같아요.

iTerm2 외에도 Hyper라는 플랫폼도 있고, 설치가 귀찮거나 기본이 좋으신 분들은 기본 터미널을 사용하셔도 무방합니다.

 

https://www.iterm2.com/

 

iTerm2 - macOS Terminal Replacement

iTerm2 by George Nachman. Website by Matthew Freeman, George Nachman, and James A. Rosen. Website updated and optimized by HexBrain

www.iterm2.com

https://hyper.is/

 

Hyper™

Hyper™: HTML/JS/CSS terminal

hyper.is

 

■ JAVA

이미 잘 알고계시듯이, JAVA 개발을 하려면 JAVA가 컴퓨터 내에 깔려 있어야겠죠~?

본 포스팅이 도움이 되려면, 자바 버전이 두개 이상 깔려있어야 합니다. 

 

현재 설치 되어있는 자바 버전을 확인 하려면 터미널에  /usr/libexec/java_home -V 입력  하면 현재 설치되어있는 java의 버전이 나옵니다

 

/usr/libexec/java_home -V 를 사용해 출력한 java 버전

저의 경우에는 위의 그림에서 보이듯이

  • Java SE 12.0.1
  • Java SE 11.0.3
  • Java SE 8

이렇게 설치가 되어있네요 

 

■ 버전 컨트롤 (Version Control)

java버전을 컨트롤 하는 방법에는 여러가지가 있지만, 원래는 JAVA_HOME을 설정 다시 해주어야 하는 번거로움이 있습니다.

오늘 포스팅에서는 zsh 쉘의 설정을 추가하여 관리합니다.

 

각 쉘의 설정파일을 수정하여 추가하면 되는데요, 저는 zsh를 사용하기때문에 .zshrc를 수정하겠습니다.

 

vim ~/.zshrc 를 입력하고, 가장 아래에 추가합니다. 수정이 완료 된 후에는 :wq로 저장하고,

source ~/.zshrc로 스크립트를 반영해 줍니다.

# JAVA Version Control
javahome_usage() {
echo "javahome - switch to different JDK version"
echo "Usage: javahome [-h] [-v VERSION]"
echo
echo " -h     : display usage"
echo " -v     : specific JDK version to switch"
echo
echo "Examples: "
echo "># javahome -v 1.8 : switches to JDK8"
echo "># javahome -v 12  : switches to JDK12"
echo "># javahome        : display all installed JDK and display current JDK"
}
javahome () {
if [ "$1" = "-h" ] ; then
        javahome_usage
fi
if [ "$#" -eq 0 ] ; then
        /usr/libexec/java_home -V
fi
if [ "$#" -eq 2 ] && [ "$1" = "-v" ] ; then
export JAVA_HOME=`/usr/libexec/java_home $@`
echo "Setting JAVA_HOME:" $JAVA_HOME
echo
echo "Added JAVA_HOME/bin to PATH"
        PATH=$PATH:$JAVA_HOME/bin
echo $PATH
echo
        java -version
fi
}

 

위의 스크립트가 적용 된 쉘에서,

 

javahome 을 입력한 화면입니다

shell script의 javahome 실행

 

javahome -v 1.8을 적용한 모습입니다. 기본 java 버전이 1.8로 변경되었습니다.

shell script의 javahome -v 1.8 적용 모습

 

이상으로 포스팅을 마치겠습니다. 자바 개발시에 버전을 변경 해야 할 때, 도움이 되었으면 좋겠습니다

 

다음에 뵈요~!