진행하는 프로젝트에 따라 JDK를 유동적으로 변경해야 하는 일이 빈번히 발생한다.
따라서 Mac에서 jenv를 사용하여 여러 Java version을 설치해 사용하는 방법에 대해 포스팅 하려 한다.
필자는 실무에서 Java8을 사용하고 있고 개인적으로는 Java17을 사용하고 있어 두 개발환경에 맞는 Java8과 Java17을 homebrew를 통해 설치하려 한다.
Java17은 설치된 상태로 Java8만 추가로 설치한다.
% brew update
% brew search 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
% brew install jenv
% echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
% echo 'eval "$(jenv init -)"' >> ~/.zshrc
% source ~/.zshrc
% jenv enable-plugin export
% 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
% ls /Library/Java/JavaVirtualMachines >
openjdk-17.jdk zulu-8.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 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 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 <jdk-version>
% jenv remove <jdk-version>
이로써 jenv 사용해서 다중 JDK 설정이 마무리 되었다.
필자는 Mac에서 주로 JDK17을 사용하기 때문에 Global을 JDK17로 설정하였고 특정 디렉토리에서는 JDK8을 설정하여 사용할 예정이다.
추후 Window 버전도 정리해서 포스팅하겠다. 🫡