준호씨의 블로그

osx - jenv 로 여러 버전의 java 사용하기. jdk 설치 본문

개발이야기

osx - jenv 로 여러 버전의 java 사용하기. jdk 설치

준호씨 2017. 12. 13. 00:07
반응형

jenv 를 설치 해 두면 열어개의 jdk 를 설치 해 두고 버전을 바꿔 가며 쓸 수 있다.

jenv 설치

brew install jenv

리스트 확인. 아직 설치 된 java 가 없음.

$ jenv versions
* system (set by /Users/junho85/.jenv/version)

brew 로 jdk 설치

보통 java 설치는 oracle 사이트에서 다운 받아 설치 하지만 brew 로도 설치 할 수 있다.

brew cask install java

최신 버전으로 설치 된다. (2017.11.26 기준으로 jdk9 이 설치 된다.)

jdk8 을 설치 하려면 다음과 같이 버전을 적어 준다.

brew cask install java8

jenv 에 java 추가

~/.jenv/versions 디렉토리가 없으면 실패 할 수 있으므로 없으면 만들어 둔다.

mkdir -p ~/.jenv/versions

# java9 home 확인
$ /usr/libexec/java_home -v 1.9
Unable to find any JVMs matching version "1.9".
/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home

# java9 추가
jenv add /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home

# java8 home 확인
$ /usr/libexec/java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home

# java8 추가
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/

확인

$ jenv versions
* system (set by /Users/junho85/.jenv/version)
  1.8
  1.8.0.152
  9.0
  9.0.1
  oracle64-1.8.0.152
  oracle64-9.0.1

jenv 로 java 스위칭

global

$ jenv global 9.0.1
$ jenv versions
  system
  1.8 
  1.8.0.152 
  9.0
* 9.0.1 (set by /Users/junho85/.jenv/version) 
  oracle64-1.8.0.152
  oracle64-9.0.1

local

# jenv_test 디렉토리에서는 1.8.0.152 를 쓰도록 설정
$ jenv local 1.8.0.152
$ jenv versions
  system
  1.8
* 1.8.0.152 (set by /Users/junho85/jenv_test/.java-version)
  9.0 
  9.0.1 
  oracle64-1.8.0.152 
  oracle64-9.0.1

다른 디렉토리로 이동해서 확인 하면 global 설정으로 다시 변경됨

$ cd ..
$ jenv versions 
  system 
  1.8
  1.8.0.152
  9.0
* 9.0.1 (set by /Users/junho85/.jenv/version) 
  oracle64-1.8.0.152
  oracle64-9.0.1
  • shell instance 테스트를 위해 java6 설치 ``` $ brew cask install java6 $ /usr/libexec/java_home -v 1.6 /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home $ jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home $ jenv versions system 1.6 1.6.0.65 1.8 1.8.0.152 9.0
  • 9.0.1 (set by /Users/junho85/.jenv/version) oracle64-1.6.0.65 oracle64-1.8.0.152 oracle64-9.0.1 ```

jenv shell 설정

jenv shell 1.6.0.65

jenv shell 이 먹혀 있는 동안은 jenv local 보다도 우선순위가 높음.

기타

설치 되어 있는 모든 java 확인

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    9.0.1, x86_64:    "Java SE 9.0.1"    /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
    1.8.0_152, x86_64:    "Java SE 8"    /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home
    1.6.0_65-b14-468, x86_64:    "Java SE 6"    /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386:    "Java SE 6"    /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home

언어별 관리툴

참고

반응형
Comments