0. 설치된 Java확인 

jangwonpark@JANGWONs-MacBook-Air ~ % /usr/libexec/java_home -V

macOS에서는 java설치정보를 알수 있는 'java_home'이라는 binary가 제공된다.

macOS의 기본 java경로는 /Library/Java/JavaVirtualMachines/ 이고 java가 설치되지 않았다면 디렉토리는 비어있다.

 

1. 설치가능한 jdk조회

jangwonpark@JANGWONs-MacBook-Air ~ % brew search jdk
==> Formulae
openjdk       openjdk@11    openjdk@17    openjdk@8     jd            mdk           cdk

 

2. jdk17 LTS를 설치

jangwonpark@JANGWONs-MacBook-Air ~ % brew install openjdk@17

...

==> Summary
🍺  /opt/homebrew/Cellar/openjdk@17/17.0.6: 635 files, 304.9MB
==> Running `brew cleanup openjdk@17`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Caveats
==> openjdk@17
For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

openjdk@17 is keg-only, which means it was not symlinked into /opt/homebrew,
because this is an alternate version of another formula.

If you need to have openjdk@17 first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc

For compilers to find openjdk@17 you may need to set:
  export CPPFLAGS="-I/opt/homebrew/opt/openjdk@17/include"


 

3. MacOS의 jdk기본경로에 soft link생성

jangwonpark@JANGWONs-MacBook-Air ~ % sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
Password:

설치후 경로

/opt/homebrew/opt/openjdk@17 -> /opt/homebrew/Cellar/openjdk@17/17.0.6
/opt/homebrew/Cellar/openjdk@17/17.0.6/bin/
/opt/homebrew/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home/bin/* -> /opt/homebrew/Cellar/openjdk@17/17.0.6/bin/*
/Library/Java/JavaVirtualMachines/openjdk-17.jdk -> /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk

 

4. 설치된 java 확인

jangwonpark@JANGWONs-MacBook-Air ~ % /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
    17.0.6 (arm64) "Homebrew" - "OpenJDK 17.0.6" /opt/homebrew/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
/opt/homebrew/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home

 

5. JAVA_HOME을 .zshrc에 추가

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$PATH:$JAVA_HOME/bin
jangwonpark@JANGWONs-MacBook-Air ~ % echo $JAVA_HOME
/opt/homebrew/Cellar/openjdk@17/17.0.6/libexec/openjdk.jdk/Contents/Home
jangwonpark@JANGWONs-MacBook-Air ~ % java -version
openjdk version "17.0.6" 2023-01-17
OpenJDK Runtime Environment Homebrew (build 17.0.6+0)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.6+0, mixed mode, sharing)

 

6. uninstall java

jangwonpark@JANGWONs-MacBook-Air ~ % brew uninstall openjdk@17
jangwonpark@JANGWONs-MacBook-Air ~ % cd /Library/Java/JavaVirtualMachines

jangwonpark@JANGWONs-MacBook-Air JavaVirtualMachines % ls
openjdk-17.jdk

jangwonpark@JANGWONs-MacBook-Air JavaVirtualMachines % rm -rf openjdk-17.jdk