티스토리 뷰
jEnv
Mac 에서 여러개의 Java 버전을 관리하고 이용할 수 있는 툴이다. 아마도 jEnv 는 Java Enviorment에 약어일듯 싶다. 뭐 그게 중요한 건 아니고 오늘은 jEnv를 이용해서 여러 버전의 Java를 쉽게 사용하는 법을 알아보겠다.
multiple java version
/usr/libexec/java_home -V 명령어로 현재 설치된 java들을 확인할 수 있다. 현재 Mac에는 1.8, 11, 12가 설치 돼있다.
~ % /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
12, x86_64: "OpenJDK 12" /Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home
11.0.2, x86_64: "OpenJDK 11.0.2" /Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
1.8.0_172-zulu-8.30.0.1, x86_64: "Zulu 8" /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home
install jEnv
brew install jenv 명령어로 jEnv를 설치한다. 물론 mac os 패키지 관리자인 homebrew가 설치돼 있어야 한다.
~ % brew install jenv
Updating Homebrew...
==> Auto-updated Homebrew!
Updated Homebrew from 2834a75f1 to cf02ac9d4.
Updated 4 taps (homebrew/core, homebrew/cask, pivotal/tap and caskroom/versions).
==> New Formulae
polynote
==> Updated Formulae
gradle ✔ binaryen devdash gitlab-runner hmmer lazygit monetdb nfdump pivotal/tap/gemfire@9.7 protobuf-c shairport-sync urh
aws-cdk consul etcd glooctl ipfs libstfl n ngt postgis repo shellharden wasmer
ballerina contentful-cli fluid-synth go-bindata jenkins mk-configure netdata okteto procs ruby-build sphinx-doc weaver
berglas crc gatsby-cli helmfile kubespy molecule newman parallel proftpd sccache unbound
==> Deleted Formulae
jpcsp
configure jEnv
jenv를 설치하고 실제로 동작하기 위해서는 아래와 같은 명령어를 추가해야한다. (bash 기준)
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
add jdk path
jenv가 설치됐으면 jenv add 명령어를 이용해서 jdk 설치 패스를 등록한다. 필자같은 경우 11,8은 이미 등록돼 있고 12는 추가했다.
~ % jenv add /Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home
openjdk64-12 added
12 added
~ % jenv add /Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
openjdk64-11.0.2 already present, skip installation
11.0.2 already present, skip installation
11.0 already present, skip installation
~ % jenv add /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
zulu64-1.8.0.172 already present, skip installation
1.8.0.172 already present, skip installation
1.8 already present, skip installation
use
global 명령어로 java global version을 변경할 수 있다.
➜ ~ java -version #현재 버전 확인
openjdk version "1.8.0_172"
OpenJDK Runtime Environment (Zulu 8.30.0.1-macosx) (build 1.8.0_172-b01)
OpenJDK 64-Bit Server VM (Zulu 8.30.0.1-macosx) (build 25.172-b01, mixed mode)
➜ ~ jenv versions #jenv 에 등록된 java
system
* 1.8 (set by /Users/mhkim/.jenv/version)
1.8.0.172
11.0
11.0.2
12
openjdk64-11.0.2
openjdk64-12
zulu64-1.8.0.172
➜ ~ jenv global 12 #global java 설정을 12로 변경
➜ ~ java -version #java12로 변경 확인
openjdk version "12" 2019-03-19
OpenJDK Runtime Environment (build 12+33)
OpenJDK 64-Bit Server VM (build 12+33, mixed mode, sharing)
local 명령어로 특정 디렉토리 java version을 설정할 수 있다.
➜ ~ mkdir java11proejct
➜ ~ cd java11proejct
➜ java11proejct jenv local 11.0
➜ java11proejct java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
➜ java11proejct cd ..
➜ ~ java -version
openjdk version "12" 2019-03-19
OpenJDK Runtime Environment (build 12+33)
OpenJDK 64-Bit Server VM (build 12+33, mixed mode, sharing)
➜ ~
reference
- https://www.jenv.be/
- https://medium.com/@brunofrascino/working-with-multiple-java-versions-in-macos-9a9c4f15615a
'Web Development' 카테고리의 다른 글
OSGI for Java Bundle Programing (0) | 2020.03.16 |
---|---|
Runnable Jar (Maven Shade) (0) | 2020.03.12 |
multiple java version in ubuntu (0) | 2020.02.20 |
jenkins(ubuntu) + github + Startup #3 (0) | 2020.02.19 |
jenkins(ubuntu) + github + Startup #2 (0) | 2020.02.05 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크