맥북을 사용 중에 Java의 버전을 관리하고 싶어 설치방법을 알아보던 중 기록해두어야 할 것 같아서 글을 작성하게 되었다
맥북을 사용하는 사람이라면 대부분 설치되어있는 homebrew를 사용하여 설치하려고 한다.
(그게 아니라면 직접 openjdk의 레파지토리에 들어가서 다운로드해주면 된다.)
주소 : https://jdk.java.net/java-se-ri/17
homebrew를 사용하는 맥북유저의 설치방법은 이러하다.
1. openjdk의 레파지토리 추가하기
brew tap adoptopenjdk/openjdk
- 해당 방법을 통해서 brew의 관리 목록에 adoptopenjdk/openjdk 레파지토리를 추가해 준다.
2. 설치할 수 있는 목록 확인하기
brew search jdk
- brew로 설치할 수 있는 목록을 검색하는 기능이다.
- 위에서 tab으로 openjdk를 추가해 주었기 때문에 목록에서 openjdk를 확인할 수 있다.
- 아래와 같은 사진이 있을 텐데 설치하고 싶은 것을 설치해 주면 된다.
- 이때 Formulae와 Casks를 살펴볼 수 있는데 만약 Casks에 있는 목록을 설치하고자 한다면 brew install --cask을 사용해야 한다.
- 또한 이 두 개의 설치방법은 설치 위치가 다르게 저장되게 된다.
Formualae
만약 17 버전을 Formualae 버전으로 설치를 원한다면 이렇게 입력해 주면 된다.
brew install openjdk@17
- Formulae방식의 저장 위치는 /opt/homebrew/Cellar 에 저장되게 된다.
- jdk에 포함시킬 때에는/opt/homebrew/Cellar/openjdk@17/17.0.7/libexec/openjdk.jdk/Contents/Home 와 같이 Home 디렉터리를 포함시키면 된다.
만약 인텔리제이에서 /opt에 접근할 수 없다면?
인텔리제이에서 add jdk를 하여도 아래와 같이 cask로 설치한 위치만 나오고 /opt가 나오지 않아 접근할 수가 없다.
이런 경우 command + shift + G 키를 눌러주게 되면
이와 같은 화면이 나와서 직접 경로를 입력해 주면 접근할 수 있게 된다! 꿀팁😤
Cask
만약 11 버전을 cask버전으로 설치하고자 한다면 이렇게 입력해 주면 된다.
brew install --cask adoptopenjdk11
- cask 방식은/Library/Java/JavaVirtualMachines/ 에 저장되게 된다.
- cask 방식으로 다운로드한 버전은 터미널에서 /usr/libexec/java_home -V 명령어를 통해서 설치되어 있는 버전을 확인할 수 있다. (Formulae 방식은 뜨지 않는다 ㅠㅠ)
이렇게 버전을 설치해 주었다면 이제 사용할 자바버전을 선택해주어야 한다.
Java 기본 version 확인하기
현재 사용 중인 자바의 버전 확인은 터미널에서
java --version
을 입력하면 확인할 수 있다. 만약 자바의 버전이 잡히지 않거나 여러 버전을 이용 중이라 변경하고 싶다면 아래와 같이 해주면 변경할 수 있게 된다.
zsh를 기준으로 설명해보자면 zshrc 파일을 수정해 주면 된다. 위치는 ~/에 위치하고 있다.
vim ~/.zshrc
openjdk@17의 17.0.7 버전을 사용하는 것을 예로 들어 작성해보자면
export JAVA_HOME=/opt/homebrew/Cellar/openjdk@17/17.0.7/libexec/openjdk.jdk/Contents/Home
export PATH=${PATH}:$JAVA_HOME/bin
- 여기서 JAVA_HOME의 경로를 jdk가 설치되어 있는 경로로 변경해 주면 된다.
- 만약 cask버전으로 설치한 경우에는 /Library/Java/JavaVirtualMachines/에 위치하고 있으니 경로를 잘 입력해주어야 한다.
- 버전을 잘 확인하여 정확하게 입력해주어야 함!!
만약 쉘스크립트를 수정했다면
source ~/.zshrc
를 입력해서 반영시켜주면 된다.
이제 모든 설정을 마치고 다시 확인해 보면 잘 적용된 것을 확인할 수 있다!
'Language > Java' 카테고리의 다른 글
Bean, VO, DTO, Entity 구분하기 (0) | 2023.07.26 |
---|---|
Gradle을 이용한 순수 자바 Jar 만들기 (0) | 2023.06.20 |
JVM (Java Virtual Machine), 자바 가상 머신 (0) | 2023.06.11 |
자바 코딩테스트를 위한 정리 - 입출력2 (EOF 처리) (0) | 2022.12.21 |
자바 코딩테스트를 위한 정리 - 입출력 (0) | 2022.05.10 |