본문 바로가기

Programming

제대로 된 JDK를 사용하자 (M1 mac 에서 java 설치)

react 등 평소 자바를 사용하지 않는 개발자가

react native를 시작 하면서, 자바를 설치하게 된다.

 

이때 M1 맥북 유저가 잘못된 자바를 설치 해버리면 성능을 손해볼 수 있다.

 

왜냐면, 기존 구글링 해서 나오는 글이나 문서를 보고 아직까지 아래와 같은 형태로 java를 설치 해버린다.

 

# 또 이대로 설치하면 안됩니다..ㅠㅠ
brew install --cask adaptopenjdk8

 

M1 맥에서도 이 명령어는 문제없이 실행 될 것이다.

다만, arm 용이 아니라서 해당 자바는 rosetta 에서 돌아가는 자바가 되버린다.

성능 저하가 많이 일어날 수 있단 뜻이 되기도 한다.

 

sdkman 을 이용한 설치

sdkman은 node에서 nvm 정도로 생각 해볼수 있을것 같다.

좀더 정확히는 리눅스 기반의 SDK들을 설치 및 관리 할 수 있는 툴이다.

 

sdkman 에 arm 용 자바가 올라 와 있어서, 해당 자바를 설치하여 사용하면 된다.

어짜피 자바를 잘모르지만, 필요에 의해 써야한다면 sdkman을 사용하는게 관리 측면에서도 좋다.

 

일단 설치전, 만약 brew 로 위 자바가 설치되어 있다면 삭제 해주고, sdkman을 설치해준다.

brew uninstall adoptopenjdk8

curl -s "https://get.sdkman.io" | bash

뭔가 너무 무섭게 "SDK!" 가 나온다..

 

만약 .zshrc 같은걸 적용 중 이라면, 자동으로 관련된 명령어 들이 .zshrc에 들어간다.

설치가 끝나고 sdkman-init.sh 을 실행하길 요청하는데, 진행 해준다

그럼, sdkman 을 이용하여 다양한 SDK들을 관리할 수 있는데,

jdk를 설치한다. 그중에서 arm 버전인 zulu jdk를 설치한다.

sdk install java 8.0.312-zulu

 

그럼 기본으로 사용하는 jdk가 세팅 되었다는 안내와 함께 사용 할 수 있다.

 

설치 후 확인 사항

만약 기존에 자바를 설치해 둔게 있다면, 충돌이나 겹치는 문제가 발생 할 수 있다.

해당부분은 아래의 명령어로 삭제 하고, 터미널을 재시작 해준다

rm -rf /Library/Java/JavaVirtualMachines/*

 

그리고, 내부에 사용중인 툴들 (예를들면 android studio..) 의 preference에서 JDK를 설치한 zulu로 변경해주면 된다.