참고 : 이 솔루션은 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 다운로드 페이지에서 수동으로 설치하십시오.
http://jdk.java.net/ 에서 Mac OSX 용 OpenJDK를 다운로드하십시오 (예 : Java 13 ).
OpenJDK tar를 보관 해제하고 결과 폴더 (예 :) 를 JDK 설치의 표준 및 예상 위치이므로 폴더에 jdk-13.jdk
넣습니다 /Library/Java/JavaVirtualMachines/
. 원하는 곳 어디든지 설치할 수 있습니다.
Homebrew와 함께 설치
2018 년 10 월 3 일 이전에 Homebrew Cask에서 사용 가능한 Java 버전은 실제로 Oracle JVM이었습니다. 그러나 이제는 OpenJDK로 업데이트되었습니다. Homebrew를 업데이트하면 설치 가능한 최신 버전이 표시됩니다.
Homebrew를 아직 설치 하지 않았다면 설치하십시오 . 업데이트되었는지 확인하십시오.
brew update
아직하지 않은 경우 통 탭을 추가하십시오 (또는 3 단계에서 더 이상 이전 Java 버전이 표시되지 않음).
brew tap homebrew/cask-versions
과에 대한 AdoptOpenJDK의 버전, 그 탭을 추가합니다 :
brew tap adoptopenjdk/openjdk
이 캐스 크는 종종 Java 버전을 변경하며 추가 Java 버전으로 다른 탭이있을 수 있습니다.
설치 가능한 버전을 찾으십시오.
brew search java
또는 AdoptOpenJDK 버전의 경우 :
brew search jdk
설치할 버전의 세부 사항을 확인하십시오.
brew cask info java
또는 AdoptOpenJDK 버전의 경우 :
brew cask info adoptopenjdk
과 같은 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는 현재 쉘에 대한 하나의 글로벌 버전과 하나의 프로젝트가 다른 버전과 다른 버전을 필요로 할 때 편리한 디렉토리 별 로컬 버전을 설정하도록 허용합니다.
JEnv를 아직 설치하지 않았다면 http://www.jenv.be/ 사이트 에서 수동 설치 또는 Homebrew 사용 지침을 설치 하십시오 .
JEnv에 Java 버전을 추가하십시오 ( 다른 곳에 배치 한 경우 디렉토리 조정 ).
jenv add /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
이 명령을 사용하여 글로벌 버전을 설정하십시오.
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_HOME
JEnv를 사용 하는 동안 관리를 돕기 위해 내보내기 플러그인 을 추가 하면됩니다.
$ 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을 사용하면 전역 기본 버전과 현재 셸에 특정한 버전을 설정할 수 있습니다.
https://sdkman.io/install 에서 SDKMAN을 설치 하십시오.
버전 ID를 알 수 있도록 사용 가능한 Java 버전을 나열하십시오.
sdk list java
해당 버전 중 하나를 설치하십시오 (예 : Java 13).
sdk install java 13.0.0-open
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
합니다.
홈페이지 의 지침에 따라 Jabba를 설치 하십시오 .
사용 가능한 JDK 목록
jabba ls-remote
Java JDK 12 설치
jabba install openjdk@1.12.0
그걸 써:
jabba use openjdk@1.12.0
또한 버전 이름의 별명을 지정하고 이미 설치된 기존 JDK에 링크하고 GraalVM, Adopt JDK, IBM JDK 등과 같은 흥미로운 JDK를 혼합하여 찾을 수 있습니다. 전체 사용 설명서 는 홈 페이지에서도 제공됩니다.
자바 더 자동으로 관리하게 PATH
하고 JAVA_HOME
당신이 버전을 변경으로 당신을 위해.