jenv를 설치하고, temurin jdk8과 11을 설치한다음에 11을 글로벌로 설정해보겠습니다.

  • OS: macOS
  • package manager: homebrew
  • shell: zsh

jenv는 자바 버전 관리해주는 툴인데, rbenv를 바탕으로 만든거라 rbenv, pyenv 등과 사용법이 비슷합니다.

참고로 jenv가 자바를 설치해주지는 않으니 따로 설치해야 합니다. (참고: [Java] AdoptOpenJDK -> temurin 전환)

 

jenv 사용법

$ brew install jenv

1. jenv 설치

 

$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc

2. jenv bin path 설정 및 init 설정 (.zshrc)

위 명령어를 그대로 따라 치면 됩니다. 그 다음 쉘을 재시작합니다

 

$ jenv enable-plugin export

3. JAVA_HOME 설정을 위해 export 플러그인을 사용하도록 설정합니다

 

$ brew tap homebrew/cask-versions
$ brew install --cask temurin8 temurin11

4. 자바를 설치합니다.

일부러 두개를 깔았습니다. 이중에서 11을 쓰도록 선택해보겠습니다

 

$ jenv add /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home/
$ jenv add /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home/
$ jenv versions
* system (set by /Users/vince/.jenv/version)
  1.8
  1.8.0.302
  11.0.12
  openjdk64-1.8.0.302
  openjdk64-11.0.12

5. JVM home 경로를 추가합니다.

 

$ jenv global 11.0.12
$ jenv versions
  system
  1.8
  1.8.0.302
* 11.0.12 (set by /Users/vince/.jenv/version)
  openjdk64-1.8.0.302
  openjdk64-11.0.12

6. global로 자바 버전 설정하고 싶은 경우, global 버전명으로 선택합니다

versions로 입력했을 때 목록에 뭔가 많이 나올 수 있는데, versions --verbose로 확인하면 다 alias기 때문에 아무거나 선택해도 상관은 없습니다.

 

$ jenv local 11.0.2
$ exec $SHELL -l
$ cat .java-version
11.0.2

디렉토리별 자바버전을 설정하고 싶은 경우 local 명령어를 사용합니다. 이때 버전은 .java-version 파일에 명시되고 git 등으로 관리를 할 수 있다고 합니다.

단, 주의할 점이 있는데 쉘이 해당 디렉토리에서 실행되어야만 로컬 버전이 적용된다고 합니다.

반응형