안녕세계
[Java] jenv 설치 및 사용법 (MacOS 여러 Java 버전 설치) 본문
[Java] jenv 설치 및 사용법 (MacOS 여러 Java 버전 설치)
Junhong Kim 2021. 3. 21. 00:36이번 포스팅에서는 MacOS에서 여러 Java 버전을 설치하는 방법을 알아봅니다.
Python에 pyenv가 있다면, Java에는 jenv가 있습니다.
본 예제에서는 brew를 사용하여 AdoptOpenJDK와 jenv를 설치합니다.
AdoptOpenJDK 설치
예제에서는 Java8과 Java11을 설치하겠습니다.
(언제부턴가 brew에 cask 명령어가 사라지고 install의 --cask 옵션으로로 변경되었더군요 ㅎㅎ)
$ brew install --cask adoptopenjdk/openjdk/adoptopenjdk8
$ brew install --cask adoptopenjdk/openjdk/adoptopenjdk11
jenv 설치
$ brew install jenv
~/.zshrc에 jenv 설정 추가
(bash를 사용하시는 분들은 ~/.bash_profile 에 추가해주세요.)
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc
zshrc 변경사항 적용
$ source ~/.zshrc
jenv 설치 및 설정이 모두 완료되었습니다.
이제, 현재 설치된 자바를 확인해봅니다.
$ ls /Library/Java/JavaVirtualMachines
adoptopenjdk-11.jdk adoptopenjdk-8.jdk
jenv에 Java 버전 추가하기
jenv에 Java 버전을 추가하는 방법은 2가지 입니다. 원하는 방법으로 jenv에 Java 버전을 추가해주세요.
# 방법1
$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
$ jenv add /Librard/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
# 방법2
$ jenv add $(/usr/libexec/java_home -v1.8)
$ jenv add $(/usr/libexec/java_home -v1.11)
jenv versions 명령어로 jenv에 등록된 Java 버전을 확인하실 수 있습니다.
콘솔에 *로 표시되어있는 것이 현재 선택된 Java 버전입니다.
(현재는 system Java 설정으로 되어있네요 ㅎㅎ)
$ jenv versions
* system
1.8
1.8.0.275
11
11.0
11.0.10
openjdk64-1.8.0.275
openjdk64-11.0.10 (set by /Users/jhk/.jenv/version)
Java 버전 글로벌 설정
MacOS에서 전역으로 사용할 Java 버전을 설정합니다.
콘솔에 표시되는 *표시가 이동된 것을 확인하실 수 있으며, -version 명령어로 확인해보면 11버전이 확인됩니다.
$ jenv global openjdk64-11.0.10
$ jenv versions
system
1.8
1.8.0.275
11
11.0
11.0.10
openjdk64-1.8.0.275
* openjdk64-11.0.10 (set by /Users/jhk/.jenv/version)
$ java -version
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.10+9, mixed mode)
Java 버전 로컬 설정
그리고 우리가 원하는 특정 프로젝트/디렉토리에서의 Java 버전을 설정하기 위해 다음 명령어를 사용합니다.
$ jenv local openjdk64-1.8.0.275
jenv에서 Java 버전 제거
만약, 불필요하게 된 Java 버전이 생기면 다음 명령어로 jenv에서 제거할 수 있습니다.
$ jenv remove <version>
여기까지 jenv를 사용하여 다수의 Java 버전을 사용하는 방법에 알아보았습니다. ✌️
감사합니다 :)
'Language > Java' 카테고리의 다른 글
[Java] MDC와 스레드 로컬 (1) | 2024.04.14 |
---|---|
[Java] 스레드 로컬 (Thread Local ) (0) | 2023.08.27 |
[Java] 컬렉션 프레임워크와 함수형 인터페이스 (0) | 2020.02.19 |
[Java] 함수형 인터페이스 (Functional Interface) (0) | 2020.02.11 |
[Java] 람다(Lambda) (0) | 2020.02.10 |