■ java_home 명령으로 SDK man 경로 인식 시키기
$ /usr/libexec/java_home -V Matching Java Virtual Machines (4): 9999 (arm64) "SDKman" - "SDKMAN Current JDK" /Library/Java/JavaVirtualMachines/sdkman-current/Contents/Home 17.0.9 (arm64) "Homebrew" - "OpenJDK 17.0.9" /opt/homebrew/Cellar/openjdk@17/17.0.9/libexec/openjdk.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/sdkman-current/Contents/Home |
이와 같이 나오게 하고 싶으나 brew에서 설치한 JDK와 다르게 인식이 되지 않는다.
■ SDK man 경로가 인식 안되는 이유
1) 맥 OS에 설치된 JDK는 다음 경로 하위에 위치해야한다.
/Library/Java/JavaVirtualMachines/
2) JDK 디렉토리 구조 및 Info.plist 필요
* /Content/Home 디렉토리 하위에 JDK 존재 해야 함.
* 메타정보 파일인 /Content/ 디렉토리에 Info.plist 파일이 존재 해야 함.
■ 조치방법
1) 심볼릭 링크 추가
sudo ln -s /Users/{내사용자명으로수정}/.sdkman/candidates/java/current /Library/Java/JavaVirtualMachines/sdkman-current/Contents/Home |
2) Info.plist 파일 추가
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleIdentifier</key> <string>sdkman.current</string> <key>CFBundleName</key> <string>SDKMAN Current JDK</string> <key>JavaVM</key> <dict> <key>JVMPlatformVersion</key> <string>9999</string> <key>JVMVendor</key> <string>SDKman</string> <key>JVMVersion</key> <string>9999</string> </dict> </dict> </plist> |
3) Info.plist 파일권한 수정
sudo chmod 444 Info.plist |
■ 참고자료
https://danmilife.tistory.com/8
'TIP-맥OS' 카테고리의 다른 글
macOS 홈디렉토리 외장으로 변경하여 내장 SSD 용량 확보 하기 (1) | 2024.12.19 |
---|---|
macOS 내장 SSD 시스템데이터 확보 하기 (0) | 2024.12.05 |
macOS에서 /Pictures 디렉토리 삭제 및 외장하드에 심볼릭 링크(바로가기) 연결 (0) | 2024.03.25 |
macOS Code Sigining 오류 : ~~~ 인증서를 신뢰하지 않음 (0) | 2023.12.18 |
macOS 앱 코드서명 및 새로운 공증 방법 (Code Signing & Notarization with notarytool) (1) | 2023.12.04 |