jdk가 무료 버전이 있고 유료버전이 있는데, 사용하던 jdk 11, 17이 oracle jdk인 듯하여 openJdk로 교체해본다.
https://auramin.tistory.com/25
현재 나의 jdk현황은 아래와 같다.
1.7.0_80은 무료 버전이라 그냥 두기로 하였고
1.7.80.15 버전은 지워야 할 것 같아서 아래와 같은 명령어를 통해 삭제 후, 1.7.0_80 버전을 심볼릭으로 걸어주었다.
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Oracle/Java
-----------------
sudo rm -rf “/Library/Internet Plug-Ins/JavaAppletPlugin.plugin”
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk /Library/Internet Plug-Ins/JavaAppletPlugin.plugin
openJdk11, 17 버전은 mac을 사용하면 brew 명령어를 통해 설치가 가능하나, 시도해본 결과 의도한 대로 잘 되지 않아서 uninstall 하고 수동으로 설치하였다.
설치 파일은 아래 사이트에서 다운로드하였고 zip을 풀어준다.
https://adoptium.net/marketplace
아래처럼 기존 자바를 지우고
cd /Library/Java/JavaVirtualMachines
sudo rm -rf jdk-17.0.3.1.jdk
zip을 풀어준 폴더를 아래 경로로 옮긴다.
sudo mv jdk-17.0.2.jdk/ /Library/Java/JavaVirtualMachines/
잘 되었는지 확인
/usr/libexec/java_home -V
참고로 잘못된 파일을 받은 경우(나의 경우는 Mac/AArch64를 받았었다) 위 명령어로 잡히지 않는다.
어쨌건 위 명령어로 잘 깔린 것을 확인하고 intellij의 프로젝트를 빌드해보는데.. 아래와 같은 에러가 난다.
mac 시스템 환경설정 > 보안 및 개인 정보보호 메뉴로 가서 팝업창 하단 아래쪽에 뜬 아래 문구를 허용을 눌렀다.
확인된 개발자가 등록한 응용 프로그램이 아니기 때문에 ~~ 사용을 차단했습니다.
하지만 그래도 gradle clean 조차 failed 하길래 아래와 같이 우선 owner설정을 바꾸고(이게 무슨 의미가 있는지는 확실하게 모르겠다. 단지 기존 jdk가 저렇게 설정이 되어 있어서 똑같이 맞춰봤다)
sudo chown -R root:wheel ./jdk-17.0.2.jdk
intellij에서 project close -> reopen -> invalid cache를 하니 정상적으로 실행되었다..
참고
https://engineering.linecorp.com/ko/blog/line-open-jdk/
'개발 > java' 카테고리의 다른 글
[google admob] ssv 콜백 적용 (0) | 2023.01.06 |
---|---|
[Date] java8 이하에서 날짜 timezone 변환 (0) | 2022.11.04 |
[java] for loops and performance (0) | 2022.08.04 |
[jmh] benchmark test (0) | 2022.08.04 |
[powermock] mock static method (0) | 2022.07.21 |