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