Homebrew로 설치한 Java, JAVA_HOME 설정 방법 차이점
Java를 Homebrew로 설치하면 JAVA_HOME
을 설정할 때 여러 가지 경로를 볼 수 있습니다.
대표적으로 아래 두 가지 방법이 있는데, 어떤 차이가 있는지 궁금했습니다.
1. /usr/local/opt/openjdk@17
경로 (심볼릭 링크)
/usr/local/opt/openjdk@17
경로 (심볼릭 링크)이 경로는 Homebrew가 제공하는 심볼릭 링크입니다.
Homebrew에서 패키지를 설치하면 /usr/local/opt/
아래에 해당 패키지의 최신 버전을 가리키는 링크가 생성됩니다.
💡 심볼릭 링크(Symbolic Link)란?
심볼릭 링크(심링, Symlink)는 **파일이나 디렉터리에 대한 "가상적인 참조(포인터)"입니다. 쉽게 말해, 바로가기(Shortcut) 같은 개념입니다. (삭제해도 원본 파일은 영향을 받지 않음 , 반대로 원본이 삭제되면 깨진 링크가 됨)
✅ 장점
✔ 자동 관리: Java 버전을 업그레이드해도 이 경로는 변하지 않음 ✔ 유지 보수 편리: Homebrew가 최신 버전을 가리키도록 관리해줌 ✔ 권장 방식: 일반적인 사용에서는 이 경로를 설정하는 것이 가장 안전
🛑 단점
❌ 특정 Java 버전(예: 17.0.14)만을 고정해서 사용하기 어려움
2. /opt/homebrew/Cellar/...
경로 (실제 설치 경로)
/opt/homebrew/Cellar/...
경로 (실제 설치 경로)이 경로는 Java가 실제로 설치된 디렉토리입니다.
Homebrew는 패키지를 /opt/homebrew/Cellar/
아래에 저장하며, 버전별로 별도 폴더가 생성됩니다.
예를 들어, OpenJDK 17.0.14가 설치되면:
과 같은 경로가 됩니다.
✅ 장점
✔ 특정 버전 고정 가능: 특정 버전을 명확하게 지정하여 사용 가능
🛑 단점
❌ 업그레이드 시 경로 변경: Java 17.0.15로 업그레이드하면 경로가 바뀌므로 JAVA_HOME
을 다시 설정해야 함
❌ 유지 보수 불편: 업데이트마다 수동으로 환경 변수를 수정해야 함
🔥 최적의 설정 방법
대부분의 경우 심볼릭 링크 경로를 사용하는 것이 좋습니다.
따라서 JAVA_HOME
을 설정할 때 아래처럼 사용하는 것을 권장합니다.
또는, macOS에서 Homebrew로 설치한 최신 Java 17 버전을 자동으로 찾아 설정하려면 다음 명령어를 사용할 수 있습니다.
이렇게 하면 최신 17 버전이 자동으로 적용되므로, 업데이트할 때마다 수동으로 JAVA_HOME
을 수정할 필요가 없습니다.
✍️ 마무리
/usr/local/opt/openjdk@17
Homebrew가 관리하는 심볼릭 링크
✅ 추천
/opt/homebrew/Cellar/...
특정 버전의 실제 설치 경로
⚠️ 특정 버전 고정 시 사용
💡 결론: 유지보수가 편한 /usr/local/opt/openjdk@17
을 사용하자! 🚀
/usr/local/opt/openjdk@17
을 사용하자! 🚀Last updated