버전 전환을 허용하는 Mac OSX에 Java를 어떻게 설치합니까?


313

Mac OSX에 OpenJDK Java를 설치하고 최신 릴리스이므로 다른 JDK와 함께 작동하도록하고 싶습니다. 현재 tar.gz를 다운로드하여 경로에 배치했지만 유지 관리하기가 어렵습니다.

더 많은 작업을 자동으로 수행하는 다른 설치는 Homebrew cask를 통한 설치입니다. 현재 버전 만 보입니다.

brew cask info java

쇼 :

자바 : 13,33 : 5b8a42f3905b406298b72d750b6919f6
https://openjdk.java.net/

그래서 거기에서 설치할 수 있지만 무엇입니까? 새 버전 만 사용하고 있습니까?


질문 태그를 단일 버전으로 제한 할 수 있습니까? 어쨌든 그러한 버전 별 설치 스크립트 / 단계가 없기 때문에. 이것은 일반적인 (버전이 아닌 특정) 질문이며 사람들이 질문과 답변이 제안하는 것을 찾기 시작하는 장소라고 가정하기 때문에 java-11 만 태그로 지정하면 충분할 수 있습니다 .
Naman

답변의 스크립트에는 다른 버전에서 해석하기 쉽지만 특정 버전이 포함되어 있습니다. 그러나 커뮤니티 회원이 검색하는 내용의 일부이기도하므로 업데이트 된 최신 답변에주의를 기울이고 오래된 오래된 버전 6 및 버전 8 주제와 차별화하여 올바른 답변을 신속하게 찾을 수 있도록 도와주는 것이 좋습니다. 안정적인 최신 버전과 최신 버전을 유지하는 것이 합리적인 태그라고 생각합니다.
Jayson Minard 2013 년

jenv 를 사용 하여 여러 Java 버전을 관리하는 것이 좋습니다 .
paranza

답변:


718

참고 : 이 솔루션은 Java 8 및 새로운 Java 13을 포함한 다양한 버전의 Java와 나열된 버전 관리자가 다루는 다른 이전 Java 버전에서 작동합니다. 여기에는 OpenJDK, Oracle, IBM, Azul, Amazon Correto, Graal 등의 대체 JDK가 포함됩니다. Java 7, Java 8, Java 9, Java 10, Java 11, Java 12 및 Java 13과 쉽게 작업하십시오!

설치 및 JDK 전환 관리 방법에 대한 몇 가지 옵션이 있습니다. Homebrew, SDKMAN , Jabba 또는 수동 설치로 설치를 수행 할 수 있습니다 . JEnv , SDKMAN , Jabba 또는 설정을 통해 수동으로 전환 할 수 있습니다 JAVA_HOME. 이 모든 것이 아래에 설명되어 있습니다.


설치

먼저 Homebrew, SDKMAN 또는 tar.gz 파일의 수동 설치를 포함하여 원하는 방법을 사용하여 Java를 설치하십시오. 수동 설치의 장점은 JDK의 위치를 ​​Mac OSX의 표준화 된 위치에 둘 수 있다는 것입니다.

SDKMAN으로 설치

이는 JDK를 비표준 디렉토리에 설치한다는 경고와 함께 설치 및 버전 전환을 처리한다는 점에서 간단한 모델입니다.

< 아래 "SDKMAN으로 버전 설치 및 전환"참조 >

Jabba를 사용하여 설치

또한 설치 및 버전 전환이 동일한 도구로 처리된다는 점에서 간단한 모델입니다. 비표준 디렉토리에 설치됩니다.

< 아래 "Jabba를 사용하여 버전 설치 및 전환"참조 >

OpenJDK 다운로드 페이지에서 수동으로 설치하십시오.

  1. http://jdk.java.net/ 에서 Mac OSX 용 OpenJDK를 다운로드하십시오 (예 : Java 13 ).

  2. OpenJDK tar를 보관 해제하고 결과 폴더 (예 :) 를 JDK 설치의 표준 및 예상 위치이므로 폴더에 jdk-13.jdk넣습니다 /Library/Java/JavaVirtualMachines/. 원하는 곳 어디든지 설치할 수 있습니다.

Homebrew와 함께 설치

2018 년 10 월 3 일 이전에 Homebrew Cask에서 사용 가능한 Java 버전은 실제로 Oracle JVM이었습니다. 그러나 이제는 OpenJDK로 업데이트되었습니다. Homebrew를 업데이트하면 설치 가능한 최신 버전이 표시됩니다.

  1. Homebrew를 아직 설치 하지 않았다면 설치하십시오 . 업데이트되었는지 확인하십시오.

    brew update
  2. 아직하지 않은 경우 통 탭을 추가하십시오 (또는 3 단계에서 더 이상 이전 Java 버전이 표시되지 않음).

    brew tap homebrew/cask-versions

    과에 대한 AdoptOpenJDK의 버전, 그 탭을 추가합니다 :

    brew tap adoptopenjdk/openjdk

    이 캐스 크는 종종 Java 버전을 변경하며 추가 Java 버전으로 다른 탭이있을 수 있습니다.

  3. 설치 가능한 버전을 찾으십시오.

    brew search java   

    또는 AdoptOpenJDK 버전의 경우 :

    brew search jdk     
  4. 설치할 버전의 세부 사항을 확인하십시오.

    brew cask info java

    또는 AdoptOpenJDK 버전의 경우 :

    brew cask info adoptopenjdk
  5. 과 같은 JDK의 특정 버전을 설치 java11, adoptopenjdk8하거나, java또는 adoptopenjdk현재합니다. 예를 들면 다음과 같습니다.

    brew cask install java

    이전 버전의 정규화 된 경로를 사용할 수도 있습니다.

    brew cask install homebrew/cask-versions/java11

그리고 이것들은 /Library/Java/JavaVirtualMachines/Mac OSX에서 기대되는 전통적인 위치에 설치 될 것 입니다.

다른 설치 옵션 :

openJDK의 다른 특징은 다음과 같습니다.

해당 사이트 지침에 따라 Azul Systems Java Zulu 인증 OpenJDK 빌드를 설치할 수 있습니다.

Zulu®는 Java SE 표준을 완벽하게 준수하는 인증 된 OpenJDK 빌드입니다. Zulu는 100 % 오픈 소스이며 무료로 다운로드 할 수 있습니다. 이제 Java 개발자, 시스템 관리자 및 최종 사용자는 배포 유연성과 업그레이드 타이밍 제어를 통해 오픈 소스 Java의 모든 이점을 누릴 수 있습니다.

Amazon Correto OpenJDK 빌드는 버전 8 또는 버전 11 (다른 버전이 출시 될 예정)의 설치 패키지를 쉽게 사용할 수 있으며/Library/Java/JavaVirtualMachines/Mac OSX의 표준디렉토리에설치됩니다.

Amazon Corretto는 OpenJDK (Open Java Development Kit)의 무료 멀티 플랫폼 프로덕션 지원 배포판입니다. Corretto는 성능 향상 및 보안 수정을 포함하는 장기 지원을 제공합니다. Amazon은 수천 개의 프로덕션 서비스에서 내부적으로 Corretto를 실행하며 Corretto는 Java SE 표준과 호환되는 것으로 인증되었습니다. Corretto를 사용하면 Linux, Windows 및 macOS를 비롯한 널리 사용되는 운영 체제에서 Java 응용 프로그램을 개발하고 실행할 수 있습니다.


내 JDK는 어디에 있습니까?!?!

기본 시스템 위치에 이전에 설치된 Java JDK의 위치를 ​​찾으려면 다음을 사용하십시오.

/usr/libexec/java_home -V

일치하는 Java 가상 머신 (6) :
13, x86_64 : "OpenJDK 13"/Library/Java/JavaVirtualMachines/openjdk-13.jdk/Contents/Home 12, x86_64 : "OpenJDK 12"/ Library / Java / JavaVirtualMachines / jdk-12 .jdk / Contents / Home
11, x86_64 : "Java SE 11"/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
10.0.2, x86_64 : "Java SE 10.0.2"/ Library / Java / JavaVirtualMachines /jdk-10.0.2.jdk/Contents/Home
9, x86_64 : "Java SE 9"/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
1.8.0_144, x86_64 : "Java SE 8"/ 라이브러리 /Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home

를 사용하여 특정 Java 버전의 위치 만보고 할 수도 있습니다 -v. 예를 들어 Java 13의 경우 :

/usr/libexec/java_home -v 13

/ 라이브러리 /Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home

설치된 JDK의 위치를 ​​아는 것은 JEnv와 같은 도구를 사용하거나 SDKMAN에 로컬 설치를 추가하거나 Jabba에서 시스템 JDK를 링크 할 때 유용하며 어디서 찾을 수 있는지 알아야합니다.

다른 도구로 설치된 JDK를 찾으려면 다음 위치를 확인하십시오.

  • SDKMAN은 ~/.sdkman/candidates/java/
  • Jabba 설치 ~/.jabba/jdk

수동으로 버전 전환

Java 실행 파일은에 구성된 JDK를 사용하는 래퍼이므로 사용중인 JDK JAVA_HOME도 변경하도록 변경할 수 있습니다.

예를 들어, JDK 13을 설치하거나 untar'd 한 경우 JDK 13을 /Library/Java/JavaVirtualMachines/jdk-13.jdk가장 높은 버전 번호로 설정 한 경우 다음과 같이 간단하게 설정할 수있는 경우 이미 기본값이어야합니다.

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home

이제 경로에있는 Java 실행 파일이 무엇이든이를보고 올바른 JDK를 사용합니다.

/usr/libexec/java_home앞에서 설명한대로 유틸리티를 사용하면 별명을 작성하거나 다른 JDK 설치 위치를 식별하여 Java 버전을 변경하는 명령을 실행할 수 있습니다. 예를 들어, .profile또는 .bash_profile에 쉘 별명을 작성 JAVA_HOME하면 다음과 같이 변경 됩니다.

export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
export JAVA_10_HOME=$(/usr/libexec/java_home -v10)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
export JAVA_12_HOME=$(/usr/libexec/java_home -v12)
export JAVA_13_HOME=$(/usr/libexec/java_home -v13)

alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
alias java10='export JAVA_HOME=$JAVA_10_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
alias java12='export JAVA_HOME=$JAVA_12_HOME'
alias java13='export JAVA_HOME=$JAVA_13_HOME'

# default to Java 13
java13

그런 다음 버전을 변경하려면 별칭을 사용하십시오.

java8
java -version

자바 버전 "1.8.0_144"

물론 JAVA_HOME수동 설정 도 가능합니다!


JEnv를 사용한 버전 전환

JEnv 는 Java JDK가 시스템에 이미 존재하고 어느 위치 에나있을 것으로 예상합니다. 일반적으로 설치된 Java JDK를 찾을 수/Library/Java/JavaVirtualMachines/있습니다. JEnv는 현재 쉘에 대한 하나의 글로벌 버전과 하나의 프로젝트가 다른 버전과 다른 버전을 필요로 할 때 편리한 디렉토리 별 로컬 버전을 설정하도록 허용합니다.

  1. JEnv를 아직 설치하지 않았다면 http://www.jenv.be/ 사이트 에서 수동 설치 또는 Homebrew 사용 지침을 설치 하십시오 .

  2. JEnv에 Java 버전을 추가하십시오 ( 다른 곳에 배치 한 경우 디렉토리 조정 ).

    jenv add /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
  3. 이 명령을 사용하여 글로벌 버전을 설정하십시오.

    jenv global 13

jenv add유사한 방식으로 다른 기존 버전을 추가하고 사용 가능한 버전을 나열 할 수도 있습니다. 예를 들어 Java 8 :

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home 
jenv versions

자세한 명령 은 JEnv 문서 를 참조하십시오 . 이제 전체 시스템, 셸 또는 로컬 디렉토리마다 언제든지 Java 버전 (Oracle, OpenJDK 등)간에 전환 할 수 있습니다.

JAVA_HOMEJEnv를 사용 하는 동안 관리를 돕기 위해 내보내기 플러그인 을 추가 하면됩니다.

$ jenv enable-plugin export
  You may restart your session to activate jenv export plugin echo export plugin activated

내보내기 플러그인 JAVA_HOME이 이미 설정되어 있으면 조정되지 않을 수 있으므로 JEnv에서 관리 할 수 ​​있도록 프로파일에서이 변수를 지워야합니다.

당신은 또한 사용할 수있는 jenv exec <command> <parms...>단일 명령을 실행 JAVA_HOME하고 PATH다른 쉘을 열고 포함 수있는 하나의 명령, 올바르게 설정.


SDKMAN을 사용하여 버전 설치 및 전환

SDKMAN 은 약간 다르며 설치와 전환을 모두 처리합니다. SDKMAN은 또한 설치된 JDK를 자체 디렉토리 트리 (일반적으로)에 배치~/.sdkman/candidates/java합니다. SDKMAN을 사용하면 전역 기본 버전과 현재 셸에 특정한 버전을 설정할 수 있습니다.

  1. https://sdkman.io/install 에서 SDKMAN을 설치 하십시오.

  2. 버전 ID를 알 수 있도록 사용 가능한 Java 버전을 나열하십시오.

    sdk list java
  3. 해당 버전 중 하나를 설치하십시오 (예 : Java 13).

    sdk install java 13.0.0-open 
  4. 13을 기본 버전으로 설정하십시오.

    sdk default java 13.0.0-open

    또는 세션의 경우 13으로 전환하십시오.

    sdk use java 13.0.0-open

list 명령을 사용하여 설치할 수있는 버전을 나열하면 다양한 Java 배포판이 표시됩니다.

sdk list java

JDK 8과 같은 추가 버전을 설치하십시오.

sdk install java 8.0.181-oracle

SDKMAN은 기존에 설치된 기존 버전으로 작업 할 수 있습니다. 자체 버전 레이블과 JDK 위치를 제공하는 로컬 설치를 수행하십시오.

sdk install java my-local-13 /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home

그리고 그것을 자유롭게 사용하십시오 :

sdk use java my-local-13

자세한 정보는 SDKMAN 사용 안내서 에서 다른 SDK 와 함께 설치 및 관리 할 수 ​​있습니다.

SDKMAN은 버전을 변경할 때 자동으로 PATH및 사용자를 관리합니다 JAVA_HOME.


Jabba를 사용하여 버전 설치 및 전환

Jabba 는 설치 및 전환을 모두 처리합니다. Jabba는 또한 설치된 JDK를 자체 디렉토리 트리에 배치~/.jabba/jdk합니다.

  1. 홈페이지지침에 따라 Jabba를 설치 하십시오 .

  2. 사용 가능한 JDK 목록

    jabba ls-remote
  3. Java JDK 12 설치

    jabba install openjdk@1.12.0
  4. 그걸 써:

    jabba use openjdk@1.12.0

또한 버전 이름의 별명을 지정하고 이미 설치된 기존 JDK에 링크하고 GraalVM, Adopt JDK, IBM JDK 등과 같은 흥미로운 JDK를 혼합하여 찾을 수 있습니다. 전체 사용 설명서 는 홈 페이지에서도 제공됩니다.

자바 더 자동으로 관리하게 PATH하고 JAVA_HOME당신이 버전을 변경으로 당신을 위해.


2
수동 설치 JAVA_HOME를 위해서는 다음과 같은 특정 버전을 선택하기 위해 설정해야한다고 생각 export JAVA_HOME=$(/usr/libexec/java_home -v <version>)합니다..bash_profile
Peter Hull

@PeterHull 일부 Java 버전 관리자는 JAVA_HOME수동 설정을 좋아하지 않으며 스스로 관리합니다. JEnv는 이전에 설정 한 경우 Jabba 및 SDKMAN에 대해 확실하지 않지만 일반적으로 해당 설정을 관리합니다. 버전 전환이없는 수동 설치 만이 값을 직접 설정해야합니다.
Jayson Minard

원래 질문에 버전 전환 및 JAVA_HOME 설정이 수동 설치 방법으로 수행하는 유일한 방법이라는 점에서 귀하의 답변에 유의 할 수 있다면 매우 좋을 것입니다.
피터 헐

2
양조 통의 Java가 2018 년 10 월 3 일 어제 OpenJDK 11로 변경되었습니다.
Xingang Huang

16
많은 다른 접근 방식을 다루는 MacOS에서 다른 JDK를 실행하는 데 대한 가장 광범위하고 유용한 답변 일 수 있습니다.
Kevin Hooke

7

이것이 내가 한 방법입니다.

1 단계 : Java 11 설치

다음 사이트에서 Mac 용 Java 11 dmg를 다운로드 할 수 있습니다. https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

2 단계 : Java 설치 후 11. 모든 버전의 설치를 확인하십시오. 터미널에 다음 명령을 입력하십시오.

/usr/libexec/java_home -V

3 단계 : .bash_profile 편집

sudo nano ~/.bash_profile

4 단계 : 기본적으로 11.0.1을 추가하십시오. (bash_profile 파일에 아래 줄을 추가하십시오).

export JAVA_HOME=$(/usr/libexec/java_home -v 11.0.1)

모든 버전으로 전환

export JAVA_HOME=$(/usr/libexec/java_home -v X.X.X)

이제 Ctrl + X를 눌러 bash를 종료하십시오. 'Y'를 눌러 변경 사항을 저장하십시오.

5 단계 : bash_profile 다시로드

source ~/.bash_profile

6 단계 : 현재 Java 버전 확인

java -version

좋은 해결책. 그러나 JAVA_HOME 11을 내보내는 동안 여전히 Java -version이 8을 가리키는 경우 어떻게해야합니까?
AlexGera

1
Open JDK에 대한 질문이지만 Oracle JDK에 연결되었습니다. Open JDK에 설치 프로그램이나 설치 지침이없는 것 같습니다.
Splaktar

1
@AlexGera에 대한 응답으로 다음 행을 추가하십시오. export $ PATH = $ JAVA_HOME / bin : $ PATH
Fuad Efendi

6

타사 도구없이 시스템 기본 버전을 수동으로 전환 :

이 이전 답변 에서 자세히 설명한 것처럼 macOS/usr/bin/java 경우 래퍼 도구는 Java 버전을 사용 JAVA_HOME하거나 해당 변수가 설정되어 있지 않은 경우 Java 설치를 찾고 /Library/Java/JavaVirtualMachines/가장 높은 버전을 사용 하는 래퍼 도구입니다 . Contents/Info.plist각 패키지 아래 에서 버전을 확인 합니다.

이 지식으로 무장하면 다음을 수행 할 수 있습니다.

  • 이름을 변경하여 시스템이 사용할 버전 제어 Info.plist기본값으로 사용하지 않으려는 버전 ( 은 실제 Java 런타임 자체에서 사용되지 않음)에서 합니다.
  • 설정하여 특정 작업에 사용할 버전 제어 $JAVA_HOME

방금 OpenJDK & Mojave에서 이것이 여전히 사실임을 확인했습니다.

새로운 시스템에는 Java 버전이 설치되어 있지 않습니다.

$ java -version
No Java runtime present, requesting install.

이를 취소하려면 https://jdk.java.net 에서 OpenJDK 11 및 12ea를 다운로드 하십시오 . OpenJDK11 설치 :

$ cd /Library/Java/JavaVirtualMachines/
$ sudo tar xzf ~/Downloads/openjdk-11.0.1_osx-x64_bin.tar.gz

시스템 자바는 이제 11입니다 :

$ java -version
openjdk version "11.0.1" 2018-10-16
[...]

OpenJDK12를 설치하십시오 (지금 바로 액세스).

$ sudo tar xzf ~/Downloads/openjdk-12-ea+17_osx-x64_bin.tar.gz 

시스템 자바는 이제 12입니다.

$ java -version
openjdk version "12-ea" 2019-03-19
[...]

이제 시스템 자바 래퍼에서 OpenJDK 12를 "숨겨"봅시다 :

$ cd jdk-12.jdk/Contents/
$ sudo mv Info.plist Info.plist.disabled

시스템 java는 11로 돌아 왔습니다.

$ java -version
openjdk version "11.0.1" 2018-10-16
[...]

수동으로 설정하여 버전 12를 정시 적으로 계속 사용할 수 있습니다 JAVA_HOME.

$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home
$ java -version
openjdk version "12-ea" 2019-03-19
[...]


6

머신에 여러 버전이 설치된 경우 bash 프로파일에 다음을 추가하십시오.

내보내기 JAVA_HOME_7 = $ (/ usr / libexec / java_home -v1.7)

내보내기 JAVA_HOME_8 = $ (/ usr / libexec / java_home -v1.8)

내보내기 JAVA_HOME_9 = $ (/ usr / libexec / java_home -v9)

그리고 다음 별명을 추가하십시오.

별명 java7 = '내보내기 JAVA_HOME = $ JAVA_HOME_7'

별명 java8 = 'export JAVA_HOME = $ JAVA_HOME_8'

별명 java9 = '내보내기 JAVA_HOME = $ JAVA_HOME_9'

별명을 사용하여 필요한 버전으로 전환 할 수 있습니다.

터미널에서 :

~ >> java7 export JAVA_HOME=$JAVA_7_HOME


그렇다, 이것은 또 다른 대답으로 여기에서 다루어졌다.
Jayson Minard

3

또 다른 대안은 SDKMAN을 사용하는 것입니다 ! https://wimdeblauwe.wordpress.com/2018/09/26/switching-between-jdk-8-and-11-using-sdkman/을 참조 하십시오.

먼저 SDKMAN을 설치하십시오 : https://sdkman.io/install 그리고 ...

  1. 다음을 사용하여 Oracle JDK 8을 설치하십시오. sdk install java 8.0.181-oracle
  2. 다음을 사용하여 OpenJDK 11을 설치하십시오. sdk install java 11.0.0-open

전환하려면 :

  • JDK 8로 전환 sdk use java 8.0.181-oracle
  • JDK 11로 전환 sdk use java 11.0.0-open

기본값을 설정하려면

  • JDK 8을 기본값으로 sdk default java 8.0.181-oracle
  • JDK 11로 기본 설정 sdk default java 11.0.0-open

3

Homebrew 및 jenv 사용시 :

가정 : Mac 컴퓨터에 이미 홈 브루를 설치했습니다.

통 설치 :

$ brew tap caskroom/cask
$ brew tap caskroom/versions

최신 Java를 설치하려면 다음을 수행하십시오.

$ brew cask install java

Java 8을 설치하려면 :

$ brew cask install java8

Java 9를 설치하려면 :

$ brew cask install java9

여러 버전을 설치 / 관리하려면 'jenv'를 사용할 수 있습니다.

jenv를 설치하고 설정하십시오 :

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

설치된 Java를 jenv에 추가하십시오.

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

설치된 모든 Java를 보려면

$ jenv versions

위의 명령은 설치된 java 목록을 제공합니다.

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

사용하려는 Java 버전을 구성하십시오.

$ jenv global oracle64-1.6.0.39

1
Error: caskroom/cask was moved. Tap homebrew/cask-cask instead,fatal: repository 'https://github.com/Homebrew/homebrew-cask-cask/' not found
ChumiestBucket

무엇 @ChumiestBucket이 -이 솔루션 말했다 것은 여러 문제가있다
javadba을

1

IMHO, 모든 추가 응용 프로그램 / 패키지를 설치할 필요는 없습니다.

다음 명령을 사용하여 사용 가능한 버전을 확인하십시오.

> /usr/libexec/java_home -V
Matching Java Virtual Machines (8):
    11, x86_64: "Java SE 11-ea" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
    10.0.2, x86_64: "Java SE 10.0.2"    /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
    9.0.1, x86_64:  "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
    1.8.0_181-zulu-8.31.0.1, x86_64:    "Zulu 8"    /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
    1.8.0_151, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
    1.7.0_80, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.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

이제 위 목록에서 Oracle의 Java SE 8이 아닌 Azul JDK 8을 선택하려면 다음과 같이 명령을 호출하십시오.

> /usr/libexec/java_home -v 1.8.0_181
/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home

Oracle의 Java SE 8을 선택하려면 다음 명령을 호출하십시오.

> /usr/libexec/java_home -v 1.8.0_151
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

보시다시피 제공된 버전 번호는 고유 한 문자열 집합이어야합니다 : 1.8.0_181 vs 1.8.0_151


첫 번째 예제에는 버전 문자열이 없어야 1.8.0_181-zulu-8.31.0.1합니까? 아니면 부분적으로 일치합니까?
Jayson Minard

이것은 실제로 Java 버전을 사용하기 위해 아무것도 변경하지 않고 단지의 위치를보고합니다 JAVA_HOME. 이 명령을 사용한 수동 전환은 다른 답변에서 다룹니다.
Jayson Minard
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.