[Mac] jenv 사용하여 JDK 여러개 사용하기

jn4624·2023년 9월 4일
1

진행하는 프로젝트에 따라 JDK를 유동적으로 변경해야 하는 일이 빈번히 발생한다.
따라서 Mac에서 jenv를 사용하여 여러 Java version을 설치해 사용하는 방법에 대해 포스팅 하려 한다.

OpenJDK 설치

필자는 실무에서 Java8을 사용하고 있고 개인적으로는 Java17을 사용하고 있어 두 개발환경에 맞는 Java8과 Java17을 homebrew를 통해 설치하려 한다.
Java17은 설치된 상태로 Java8만 추가로 설치한다.

homebrew 최신화

% brew update

OpenJDK8 검색

% brew search openjdk8

OpenJDK8 설치

❗️참고 openjdk%8 설치시 오류

openjdk@8: The x86_64 architecture is required for this software.
Error: openjdk@8: An unsatisfied requirement failed this build.

OpenJDK8 설치시 Apple Silicon Chip에서는 해당 오류가 발생한다. 따라서 azul 사용하여 설치를 진행해야 한다.

% brew install --cask zulu8

jenv 설치

% brew install jenv

jenv path 설정

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

path 변경 사항 반영

% source ~/.zshrc

export plugin 설정

% jenv enable-plugin export

jenv 설치 확인

% jenv >
jenv 0.5.6
Usage: jenv <command> [<args>]

Some useful jenv commands are:
   commands    List all available jenv commands
   local       Set or show the local application-specific Java version
   global      Set or show the global Java version
   shell       Set or show the shell-specific Java version
   rehash      Rehash jenv shims (run this after installing executables)
   version     Show the current Java version and its origin
   versions    List all Java versions available to jenv
   which       Display the full path to an executable
   whence      List all Java versions that contain the given executable
   add         Add JDK into jenv. A alias name will be generated by parsing "java -version"

See `jenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/jenv/jenv/blob/master/README.md

설치한 JDK 확인

% ls /Library/Java/JavaVirtualMachines >
openjdk-17.jdk	zulu-8.jdk

jenv에 설치한 JDK 등록

% jenv add /Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home >
openjdk64-17.0.8 added
17.0.8 added
17.0 added
 17.0.8 already present, skip installation

% jenv add /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home >
zulu64-1.8.0.382 added
1.8.0.382 added
1.8 added
 1.8.0.382 already present, skip installation

jenv 등록한 JDK 리스트 확인

% jenv versions >
* system (set by /Users/jinalim/.jenv/version)
  1.8
  1.8.0.382
  17.0
  17.0.8
  openjdk64-17.0.8
  zulu64-1.8.0.382

jenv Global 설정

% jenv global openjdk64-17.0.8 >
system
  1.8
  1.8.0.382
  17.0
  17.0.8
* openjdk64-17.0.8 (set by /Users/jinalim/.jenv/version)
  zulu64-1.8.0.382

jenv 특정 디렉토리에 Local 설정

% jenv local <jdk-version>

jenv JDK 삭제

% jenv remove <jdk-version>

이로써 jenv 사용해서 다중 JDK 설정이 마무리 되었다.

필자는 Mac에서 주로 JDK17을 사용하기 때문에 Global을 JDK17로 설정하였고 특정 디렉토리에서는 JDK8을 설정하여 사용할 예정이다.

추후 Window 버전도 정리해서 포스팅하겠다. 🫡

END

profile
Web&Backend Developer

0개의 댓글