동도리 개발 로그

Mac - Java 버전 관리 (brew) 본문

개발/공통

Mac - Java 버전 관리 (brew)

동돌이 2022. 2. 25. 15:38
반응형

매번 구글링하기 귀찮아서 정리.

이 버전관리방법은 iMac에서 사용중. (jenv로 java 버전관리)

1.  설치

1.1 brew 설치/업데이트 

https://brew.sh/index_ko

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

 

에서 brew 설치 / 혹은 

brew update

로 brew 업데이트

 

1.2 java 설치

brew search jdk

brew로 현재 사용가능한 jdk 를 찾는다.

$brew search jdk
==> Formulae
openjdk ✔                           openjdk@11                          openjdk@8                           jd                                  mdk                                 cdk

==> Casks
adoptopenjdk-jre                    adoptopenjdk11-openj9               adoptopenjdk12-openj9-jre-large     adoptopenjdk14 ✔                    adoptopenjdk15-openj9               adoptopenjdk8 ✔
adoptopenjdk-openj9                 adoptopenjdk11-openj9-jre           adoptopenjdk12-openj9-large         adoptopenjdk14-jre                  adoptopenjdk15-openj9-jre           adoptopenjdk8-jre
adoptopenjdk-openj9-jre             adoptopenjdk11-openj9-jre-large     adoptopenjdk13                      adoptopenjdk14-openj9               adoptopenjdk15-openj9-jre-large     adoptopenjdk8-openj9
adoptopenjdk-openj9-jre-large       adoptopenjdk11-openj9-large         adoptopenjdk13-jre                  adoptopenjdk14-openj9-jre           adoptopenjdk15-openj9-large         adoptopenjdk8-openj9-jre
adoptopenjdk-openj9-large           adoptopenjdk12 ✔                    adoptopenjdk13-openj9               adoptopenjdk14-openj9-jre-large     adoptopenjdk16                      adoptopenjdk8-openj9-jre-large
adoptopenjdk10                      adoptopenjdk12-jre                  adoptopenjdk13-openj9-jre           adoptopenjdk14-openj9-large         adoptopenjdk16-jre                  adoptopenjdk8-openj9-large
adoptopenjdk11 ✔                    adoptopenjdk12-openj9               adoptopenjdk13-openj9-jre-large     adoptopenjdk15                      adoptopenjdk16-openj9               adoptopenjdk9
adoptopenjdk11-jre                  adoptopenjdk12-openj9-jre           adoptopenjdk13-openj9-large         adoptopenjdk15-jre                  adoptopenjdk16-openj9-jre

사용하려는 jdk 설치 

brew install --cask adoptopenjdk11
brew install --cask adoptopenjdk8

현재 설치된 버전을 확인한다. 

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    14.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 14" /Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home
    12.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 12" /Library/Java/JavaVirtualMachines/adoptopenjdk-12.jdk/Contents/Home
    11.0.11 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
    1.8.0_292 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home

※8을 설치하면 1.8 버전으로 확인된다. 

 

2.  자바 사용하기

2.1 profile을 변경

쉘에 따라 추가해야하는 파일이 다르다. 

bash -> ~/.bash_profile 

zsh -> ~/.zshrc

현재 mac 기본 쉘인 zsh만 정리하도록 하겠다.

$ vi ~/.zshrc

로 설정 파일을 연뒤

# Java Paths
export JAVA_HOME_8=$(/usr/libexec/java_home -v1.8)
export JAVA_HOME_11=$(/usr/libexec/java_home -v11)

# Java 8
export JAVA_HOME=$JAVA_HOME_8

# Java 11
# 11버전을 사용하고자 하는 경우 아래 주석(#)을 해제하고 위에 8버전을 주석처리 하면된다.
# export JAVA_HOME=$JAVA_HOME_11

위와같이 설정하고 저장 후 

$ source ~/.zshrc

로 설정 반영을 해주면

$ java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.292-b10, mixed mode)

잘 반영되었다.

반응형