[Setting] jenv로 여러 Java 버전 사용/관리하기 (For Mac)

geun·2023년 1월 15일
0

Setting

목록 보기
1/3
post-thumbnail
post-custom-banner

프로젝트 진행하면서 여러 Java 버전을 사용할 필요가 생겼습니다.
혼자 진행하던 프로젝트는 Java 11 을 사용하고 있었고,
최근 진행할 프로젝트에서 Spring 3.0.0을 사용해보기 위해서 Java 17 이상 버전을 사용해야할 필요가 생겼습니다.
따라서 Mac에서 여러 자바 버전을 이용할 수 있는 jenv의 사용법에 대해 문서화해서 정리해보려합니다.

jenv는 Python 진영의 pyenv
Node 진영의 nvm 등과 유사한 툴입니다.


개발환경 : Mac Apple Silicon Chip ( M1 )
homebrew가 설치되어 있다고 가정하고 작성하겠습니다.


Install jenv

우선 homebrew를 이용해서 jenv를 설치합니다.

$ brew install jenv

설치가 완료되면 PATH 설정을 진행합니다.

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

PATH 설정을 진행하고 변경사항을 바로 반영합니다.

$ source ~/.zshrc

jenv의 Export Plugin 설정을 해줍니다.

$ jenv enable-plugin export

jenv가 정상적으로 설치됐는지 확인해봅시다!

$ jenv
>
jenv 0.5.5
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

위와 같이 jenv를 입력했을 때 버전정보와 함께 명령어가 출력되면 정상적으로 설치된 것입니다 :)!


Java 설치

여러버전의 Java를 설치하기

특정 Java 버전의 추가 설치가 필요하다면 brew를 통해 설치를 진행합니다.
간단한 예시로 openJDK 11, openJDK 17 버전을 설치해보겠습니다.

homebrew 저장소에서 설치가능한 JDK 검색

$ brew search jdk
>
openjdk           openjdk@11        openjdk@17       openjdk@8         jd                mdk               cdk

11, 17 버전을 선택해서 설치합니다.

$ brew install openjdk@11
$ brew install openjdk@17

(참고) openjdk@8 설치 시 오류

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

openJDK 8 을 설치 시 Apple Silicon Chip에서는 오류가 발생합니다.
따라서 Apple Silcon Chip을 사용하는 개발 환경에서는
azul 과 같은 다른 JDK를 이용해서 설치해야 합니다.


이후 관리하기 편하게 Symbolic Link 작업을 해줍니다.

$ sudo ln -sfn /opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk

$ sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

Symbolic Link 작업 까지 진행을 완료했다면 아래 명령어로 Symbolic Link 가 잘 연결됐는지 확인합니다.

$ ls /Library/Java/JavaVirtualMachines
>
openjdk-11.jdk     openjdk-17.jdk

jenv에 설치한 JDK를 등록하기

아래의 명령어를 통해 설치한 JDK를 jenv에 등록할 수 있습니다.

$ jenv add /Library/Java/JavaVirtualMachines/[JDK version name]/Contents/Home/

예시로 방금 따끈따끈하게 설치한 JDK들을 등록해보겠습니다.

$ jenv add /Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home/

$ jenv add /Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home/

How to use

설치된 Java 버전 확인

$ jenv versions
>
* system (set by /Users/geun/.jenv/version)
  11.0
  11.0.17
  17.0
  17.0.5
  openjdk64-11.0.17
  openjdk64-17.0.5

원하는 버전을 전역으로 사용하기
{} 부분에 활성화를 원하는 Java 버전을 입력합니다

$ jenv global {JAVA_VERSION}

특정 위치에서만 사용하기

$ jenv local {JAVA_VERSION}

profile
말하는 감자🥔에서 기록도 하는 감자🥔로 거듭나기
post-custom-banner

0개의 댓글