신형 맥은 x86 기반의 intel 칩을 손절하고 자체 개발한 ARM 기반 Apple Silicon인 M1 및 M2 칩셋을 탑재하여 출시하고 있다.
이렇게 두 칩셋은 아키텍쳐가 다르기 때문에 각 아키텍쳐를 지원하는 올바른 버전의 소프트웨어를 사용해야 한다.
azul의 OpenJDK 설치 파일 다운로드
마침 내가 사용하고 있는 툴도 azul의 JDK 11을 사용하는데, azul에 ARM기반 OpenJDK가 있다고 하여 이를 설치할 예정이다.
https://www.azul.com/downloads/?package=jdk
위 다운로드 페이지 중간 위치에서 OpenJDK 프리 빌드된 설치 파일(.dmg
)을 다운로드 받을 수 있다.
나는 JDK8과 11을 모두 사용하기 때문에 두 버전을 다운로드 받았다.
다운로드 받은 파일을 설치.
환경 변수 설정
현재 mac의 기본 쉘인 zsh의 기본 설정은 모두 완료되었다고 가정, 본인의 홈 디렉토리에 있는 쉘 설정 파일 .zshrc
을 연다.
나는 text editor로 VSCode를 사용하기 때문에 다음 명령어를 실행해 설정 파일을 열 수 있다.
code ~/.zshrc
적당한 위치에 다음과 같이 적어 넣는다.
# Java environmental variable
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib/tools.jar
# switch JDK version and apply it to JAVA_HOME
alias switchToJava8='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)'
alias switchToJava11='export JAVA_HOME=$(/usr/libexec/java_home -v 11)'
지금 보니까 CLASSPATH는 윈도우에서만 설정하던 변수 같다.
나는 JDK 8과 11 버전을 모두 사용하기 때문에 위와 같이 설정하여 JAVA_HOME
환경 변수를 원하는 JDK 버전으로 간단히 적용할 수 있게 설정했다.
(구글링에 'multiple JDK version management' 이런 키워드로 검색하면 나옴)
예를 들어 위와 같이 설정하면 부팅시 쉘 프로파일을 읽을 때 기본 JDK 버전은 11버전으로 설정된다.
그리고 단축어로 설정한 명령어를 입력하면 설정해놓은 JDK 버전이 환경 변수로 등록된다.
다만, 이는 사용자 홈 디렉토리에 존재하는 쉘 프로파일 .zshrc
에 작성한 내용이기 때문에
당연히 쉘을 재시작하면 앞서 적혀있는 스크립트가 실행되어 JAVA_HOME
은 다시 JDK 11의 경로를 가리키게 된다.
마지막으로 아래와 같이 환경 변수가 잘 적용 되었는지 확인할 수 있다.
설치 및 환경 변수 확인