programing

Mac OSX에서 버전 전환을 허용하는 Java 설치 방법

prostudy 2022. 5. 24. 21:50
반응형

Mac OSX에서 버전 전환을 허용하는 Java 설치 방법

나는 Mac OSX에 OpenJDK Java를 설치해서 새로 나온 제품이라 다른 JDK와 함께 작동하게 하고 싶다.현재 tar.gz를 다운받아 내 경로에 놓았지만 유지하기가 어렵다.

내가 발견한 다른 설치물은 홈브류 캐스크를 통한 설치뿐이다.현재 버전도 마찬가지 입니다.

brew cask info java

표시:

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

그럼 거기서부터 설치할 수 있는데, 그럼?내가 새 버전만 고집하는 건가?

참고: 이러한 솔루션은 자바 8에서 자바 18(LTS 버전)까지 다양한 버전의 자바에서 작동한다.여기에는 OpenJDK, Oracle, IBM, Azul, Amazon Correto, Graal 등의 대체 JDK가 포함된다.Java 7, Java 8, Java 9, Java 10, Java 11, Java 12, Java 13, Java 14, Java 15, Java 16, Java 17, 심지어 Java 18과도 쉽게 작업 가능!

JDK 전환 관리뿐만 아니라 설치를 수행하는 몇 가지 옵션이 있다.설치는 홈브루, SDKMAN, asdf, Jabba 또는 수동설치로 할 수 있다.전환은 JEnv, SDKMAN, asdf, Jabba 또는 수동으로 수행할 수 있음JAVA_HOME이 것이 되어 있다 이 모든 것이 아래에 설명되어 있다.


TL;DR - 기본 설치 방법

SDKMAN, asdf, Homebru 또는 tar.gz 파일의 수동 설치를 포함하여 원하는 방법으로 Java를 설치할 수 있다.수동 설치의 장점은 JDK의 위치를 Mac OSX의 표준화된 위치에 배치할 수 있다는 것이다.

그러나 SDKMANasdf와 같은 보다 쉬운 옵션이 있어 JVM을 위한 다른 중요하고 일반적인 툴도 설치할 수 있다.이 두 가지 주요 옵션은 여기에 설명되어 있다.

SDKMAN을 사용한 버전 설치 및 전환

SDKMAN은 약간 다르며 설치와 전환을 모두 처리한다.SDKMAN은 또한 설치된 JDK를 자신의 디렉토리 트리에 배치하며, 일반적으로~/.sdkman/candidates/java 및 관련 할 수 있도록 SDKMAN은 글로벌 기본 버전 및 현재 셸 관련 버전을 설정할 수 있다.

  1. https://sdkman.io/install에서 SDKMAN 설치

  2. 사용 가능한 Java 버전을 나열하여 버전 ID를 알고 있는지 확인하십시오.

    sdk list java
    
  3. Java 17 LTS와 같은 버전 중 하나를 설치하십시오.

    sdk install java 17-open 
    

    또는 Java 18:

    sdk install java 18-open
    
  4. Java 17을 기본 버전으로 설정:

    sdk default java 17-open
    

    또는 현재 터미널 세션의 경우 17로 전환:

    sdk use java 17-open
    

list 명령을 사용하여 설치에 사용할 수 있는 버전을 나열하면 다음과 같은 다양한 Java 배포를 볼 수 있다.

sdk list java

그리고 Amazon의 JDK 11과 같은 추가 버전을 설치하십시오.

sdk install java 11.0.14.10.1-amzn

SDKMAN은 이전에 설치된 기존 버전에서 작업할 수 있다.로컬 설치를 수행하여 사용자 고유의 버전 레이블과 JDK 위치를 지정하십시오.

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

그리고 자유롭게 사용:

sdk use java my-local-13

으로 SDKMAN을 PATH그리고JAVA_HOME버전을 변경할 때 사용할 수 있음.하여 자바버젼을 자바버전으로, 자바버젼은 자바버젼을 ~/.sdkman/candidates/java/.

자세한 내용은 SDKMAN Usage Guide에서 설치 및 관리할 수 있는 다른 SDK와 함께 확인할 수 있다.


"asdf"를 사용한 버전 설치 및 전환

asdf는 대부분의 언어, 프레임워크 및 개발자/개발자/개발자 도구 설치 및 관리를 지원하는 버전 관리자다.자바용 플러그 인을 포함한 언어별 플러그인이 있다.

  1. 먼저 https://asdf-vm.com/guide/getting-started.html을 통해 asdf를 설치하거나(쉘을 올바르게 설정하려면 여기를 읽어 보십시오) 또는 보다 간단하게 다음을 수행하십시오.

    brew reinstall asdf
    

    셸을 올바르게 설정하기 위해 문서를 읽으십시오. 그러나 ZSH와 함께 Homebru에서 asdf를 사용하는 경우 다음 명령을 실행하여 설정을 완료할 수 있다.

    echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
    
  2. 그런 다음 https://github.com/halcyon/asdf-java을 통해 Java 플러그인을 설치하십시오.

    asdf plugin add java
    

    계속하기 전에 문서를 읽고 셸을 올바르게 설정하십시오.기본적으로 다음과 같은 내용을 추가하라고 되어 있다.~/.zshrc파일(다른 셸을 사용하지 않는 경우):

    . ~/.asdf/plugins/java/set-java-home.zsh
    
  3. 이제 Java 버전 나열:

    asdf list-all java
    
  4. 즐겨찾는 맛 및 버전 설치:

    asdf install java openjdk-17
    

    또는 최신 버전을 설치하십시오.

    asdf install java latest
    

다른 중요한 명령은...

  • 설치된 버전 나열:

    asdf list java
    
  • 글로벌 Java 버전 설정:

    asdf global java openjdk-17
    
  • 디렉토리의 로컬 Java 버전 설정:

    asdf local java openjdk-17
    

그렇게 쉽게! asdf가 자동으로 PATH와 JAVA를 관리할 것이다.버전을 변경할 때 홈을 방문하십시오.참고로 asdf는 Java 버전을 다음 위치에 설치한다.~/.asdf/installs/java.

저장소 페이지에는 https://github.com/asdf-vm/asdf-plugins에서 asdf에 대한 다른 언어와 플러그인이 있다.


기타 설치 방법

홈브루와 함께 설치

2018년 10월 3일까지 홈브루 카스크에서 이용 가능한 자바 버전은 실제로 오라클 JVM이었다.그러나 지금은 OpenJDK로 업데이트되었다.Homebru를 업데이트하십시오. 그러면 설치 가능한 최신 버전이 나타날 겁니다.

  1. 홈브루를 설치하지 않았다면 설치하십시오.업데이트되었는지 확인하십시오.

     brew update
    
  2. 캐스크 탭 추가:

     brew tap homebrew/cask-versions
    

    이러한 통들은 자주 자바 버전을 변경하며, 추가 자바 버전을 가진 다른 탭이 있을 수 있다.

  3. 설치 가능한 버전 찾기:

     brew search java  
    

    또는 Eclipse Temurin 버전의 경우:

     brew search temurin     
    
  4. 설치할 버전에 대한 세부 정보를 확인하십시오.

     brew info java
    

    또는 Temurin 버전의 경우:

     brew info temurin
    
  5. 버전의 JDK의 JDK 설치java11temurin8temurin11temurin17,는 just이다.java또는temurin그 분포의 가장 최신 정보로 말이야예를 들면 다음과 같다.

     brew install java
    
     brew install --cask temurin
    

그리고 이것들은 에 설치될 것이다./Library/Java/JavaVirtualMachines/맥 OSX에서 기대되는 전통적인 위치.설치 프로세스가 끝날 때 JDK 활성 상태를 보고하기 위한 추가 단계가 있을 수 있다.

OpenJDK 다운로드 페이지에서 수동으로 설치:

만약 당신이 Java의 모든 버전이 필요하다면, 이것은 보기 좋은 장소다.

  1. http://jdk.java.net/에서 Mac OSX용 OpenJDK 다운로드(예: Java 17Java 18)

  2. OpenJDK tar를 아카이브 해제하고 결과 폴더를 배치하십시오(즉,jdk-17.jdk)을(를) 당신의 안으로/Library/Java/JavaVirtualMachines/JDK 설치의 표준 및 예상 위치인 폴더.현실적으로 원하는 곳에 설치할 수도 있다.

  3. 세트JAVA_HOMEJDK를 아카이브하지 않은 방향을 가리키는 환경 변수.

자세한 내용은 수동 설치 관련 답변을 참조하십시오.여러 수동 설치를 관리하는 방법에 대한 자세한 내용은 아래 "수동으로 버전 전환" 절을 참조하십시오.

기타 설치 옵션:

OpenJDK의 다른 맛은 다음과 같다.

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

Zulu®는 Java SE 표준을 완벽하게 준수하는 OpenJDK의 인증된 빌드다.줄루는 100% 오픈 소스로 자유롭게 다운받을 수 있다.이제 Java 개발자, 시스템 관리자, 최종 사용자는 오픈 소스 Java의 모든 이점을 구축 유연성과 업그레이드 타이밍 제어로 누릴 수 있다.

아마존 코레토 오픈JDK 빌드는 자바 8, 자바 11, 자바 15, 자바 16, 자바 17, 자바 18용 설치 패키지를 쉽게 사용할 수 있다.표준에 따라 설치된다./Library/Java/JavaVirtualMachines/Mac OSX의 디렉터리.

Amazon Corretto는 Open Java Development Kit(Open Java Development Kit, OpenJDK)의 비용 없이 멀티플랫폼, 생산 가능한 배포판이다.Corretto는 성능 향상 및 보안 수정 기능을 포함하는 장기적인 지원을 제공한다.아마존은 수천 개의 생산 서비스에서 내부적으로 코레토를 운영하고 있으며 코레토는 자바 SE 표준과 호환되는 것으로 인증받았다.Corretto를 사용하면 Linux, Windows, MacOS 등 인기 있는 운영 체제에서 Java 애플리케이션을 개발하고 실행할 수 있다.


내 JDK 어딨어?!?!

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

/usr/libexec/java_home -V

Machine(일요일은 Java 가상 시스 (10):
17 (x86_64) "홈브루" - "OpenJDK 17" /usr/local/Cellar/openjdk/17/libexec/openjdk.jdk/Contents/Home
, x86_64: "Java SE 11" /Library/JavaVirtualMachines/jdk-11.jdk/Contents/Home
1.8.301.09 (x86_64) "오라클 Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin. /usr/local/local/cellar/openjdk/libexec/openjdk.jdk/jdk/jdk/jdk/dk/dk/dk/openjdk/dk/dk/dk/dk/dk/dk/dk/dk/dk/dk/dk

또한 다음을 사용하여 특정 Java 버전의 위치만 보고할 수 있다.-v 예를 들어 Java 17의 경우:

/usr/libexec/java_home -v 17

/usr/local/Cellar/openjdk/17/libexec/openjdk/contents/Home

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

다른 도구로 설치된 JDK를 찾아야 하는 경우 다음 위치를 확인하십시오.

  • 에 SDKMAN ~/.sdkman/candidates/java/
  • 대한 asf 설치 위치~/.asdf/installs/java
  • 쟈바 설치 ~/.jabba/jdk

버전 전환

SDKMAN 또는 asdf를 사용하는 경우 이미 다루어져 있으므로 읽기를 중지할 수 있음!그렇지 않은 경우, 다음은 기존 VM 설치를 전환하는 몇 가지 옵션이다.

수동으로 버전 전환

Java 실행 파일은 JDK가 구성된 모든 JDK를 사용하는 래퍼입니다.JAVA_HOME그래서 당신은 그것을 변경하여 JDK가 사용중인지 또한 변경할 수 있다.

예를 들어, JDK 16을 설치했거나 설치하지 않은 경우/Library/Java/JavaVirtualMachines/jdk-16.jdk가장 높은 버전 번호인 경우, 단순히 설정할 수 없는 경우, 이미 기본 번호가 되어야 한다.

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

이제 Java 실행 파일이 경로에 무엇이 있든지 간에 이것을 보고 올바른 JDK를 사용할 것이다.

JDK를 변경하는 간단한 방법은 함수를 만드는 것이다.~/.bashrc또는~/.zshrc파일:

jdk() {
    version=$1
    export JAVA_HOME=$(/usr/libexec/java_home -v"$version");
    java -version
}

다음으로 간단하게 JDK를 변경하십시오.

jdk 1.8
jdk 9
jdk 11
jdk 13

JEnv를 사용하여 버전 전환

옌브는 Java JDK가 이미 기계에 존재하며 어느 위치에나 있을 것으로 예상한다.일반적으로 설치된 Java JDK는/Library/Java/JavaVirtualMachines/할 때 할 수 JEnv는 Java의 글로벌 버전과 현재의 셸용 버전, 그리고 일부 프로젝트에서 다른 버전을 필요로 할 때 편리한 디렉토리당 로컬 버전을 설정할 수 있다.

  1. 아직 설치하지 않은 경우 JEnv를 설치하십시오. 수동 설치 또는 Homebru 사용에 대한 지침은 http://www.jenv.be/에 나와 있다.

  2. Java 버전을 JEnv에 추가(다른 곳에 배치한 경우 디렉터리 조정):

    jenv add /usr/local/Cellar/openjdk/17/libexec/openjdk.jdk/Contents/Home
    
  3. 다음 명령을 사용하여 전역 버전을 설정하십시오.

    jenv global 17
    

다음을 사용하여 다른 기존 버전을 추가할 수도 있음jenv add유사한 방법으로, 사용 가능한 방법을 나열하십시오.를 들어 예 들어 Java 8:

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

자세한 명령은 JEnv 문서를 참조하십시오.이제 전체 시스템, 셸 또는 로컬 디렉터리별로 언제든지 Java 버전(Orace, 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다른 셸을 여는 것을 포함할 수 있는 하나의 명령에 대해 올바르게 설정한다.


Jabba를 사용한 버전 설치 및 전환

자바도 설치와 개폐를 모두 처리한다.Jabba는 또한 설치된 JDK를 자신의 디렉토리 트리에 배치하는데, 일반적으로 Jabba는~/.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, Adapt JDK, IBM JDK 등과 같은 흥미로운 JDK의 조합을 찾을 수 있다.전체 사용 안내서는 홈페이지에서도 확인할 수 있다.

자바가 자동으로 관리해 줄거야PATH그리고JAVA_HOME버전을 변경할 때 사용할 수 있음.

이렇게 했다.

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를 눌러 배시를 종료하십시오.변경 내용을 저장하려면 'Y'를 누르십시오.

5단계: bash_profile 다시 로드

source ~/.bash_profile

6단계: 현재 버전의 Java 확인

java -version

홈브루 및 젠브와 함께:

가정:맥머신과 너는 홈브루를 이미 설치했다.

공식 Oracle 웹 사이트에서 Java를 설치하십시오.여러 버전의 JDK를 설치할 수 있다.다음 경로에 설치된다.

 /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/
 /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/
 /Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/

것은jenv마지막으로 설치된 자바를 시스템이 사용한다.

여러 버전을 사용하거나 관리하려면jenv:

genv 설치 및 구성:

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

설치된 Java를 genv에 추가:

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

설치된 모든 Java를 보려면:

$ jenv versions

위 명령은 설치된 Java 목록을 제공한다.

  system
  1.8
* 1.8.0.291 (set by /Users/lpatel/.jenv/version)
  14
  14.0
  14.0.2
  oracle64-1.8.0.291
  oracle64-14.0.2

사용할 Java 버전 구성:

$ jenv global 1.8.0.291

타사 도구를 사용하지 않고 수동으로 시스템 기본 버전 전환:

이전 답변에서 자세히 설명한 바와 같이, 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

이제 시스템 java가 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 

이제 시스템 Java가 12:

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

이제 OpenJDK 12를 시스템 Java 래퍼에서 "숨겨" 봅시다.

$ 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
[...]

시스템에 여러 버전이 설치되어 있는 경우 다음 버전을 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='JAVA 내보내기_HOME=$JAVA_HOME_8'

별칭 JAVA9='JAVA 내보내기_HOME=$JAVA_HOME_9'

그리고 다음 별칭을 사용하여 필요한 버전으로 전환할 수 있다.

터미널에서:

~ >> java7 export JAVA_HOME=$JAVA_7_HOME

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

먼저 SDKMAN: https://sdkman.io/install을 설치한 다음...

  1. 8 을(를) 사용하여 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

asdf를 사용하여 여러 Java 버전을 설치하고 전환할 수 있다.그것은 다른 언어들을 위한 플러그인도 가지고 있다.홈브류로 asdf를 설치할 수 있다.

brew install asdf

asdf가 구성되면 Java 플러그인 설치

asdf plugin-add java

설치할 버전 선택

asdf list-all java

예: adaptopenjdk8 설치 및 구성

asdf install java adoptopenjdk-8.0.272+10
asdf global java adoptopenjdk-8.0.272+10

마지막으로 필요한 경우 JAVA_를 구성하십시오.조개껍데기를 위한 집.zsh:의 경우 ~/.zshrc와 같은 셸 초기화 스크립트에 추가하십시오.

. ~/.asdf/plugins/java/set-java-home.zsh

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

이제 위의 목록에서 Azul JDK 8을 선택하고 Oracle의 Java SE 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 대 1.8.0_151의 고유한 문자열 집합이어야 함

이러한 대답은 Jayson의 탁월한 답변과 함께 귀하의 사용 사례에 대한 최상의 접근법에 대한 몇 가지 의견 제시된 지침으로 확장된다.

  • SDKMAN은 대부분의 사용자에게 가장 적합한 솔루션이다.사용하기 쉽고, 이상한 구성이 없으며, 여러 버전의 Java 에코시스템 프로젝트도 쉽게 관리할 수 있다.
  • 홈브루를 통해 Java 버전을 다운로드하고 젠프를 통해 버전을 전환하는 것은 좋은 선택이지만 더 많은 작업이 필요하다.예를 들어, 이 고도로 보급된 대답의 홈브루 명령은 더 이상 작동하지 않는다.genv는 설정하기가 조금 더 어렵고, 플러그인은 잘 문서화되지 않았으며, README는 이 프로젝트가 새로운 유지관리자를 찾고 있다고 말한다.젠브는 여전히 훌륭한 프로젝트고, 일을 해결하며, 지역사회는 그 훌륭한 기여에 감사해야 한다.SDKMAN이 더 좋은 선택일 뿐이지, 너무 좋기 때문이야.
  • 자바(Jabba)는 맥, 윈도, PC에서 동일한 인터페이스를 제공하는 멀티플랫폼 솔루션이다(Go로 표기되어 있고, 그것이 멀티플랫폼이 될 수 있다).멀티플랫폼 솔루션에 신경 쓴다면 이는 엄청난 판매 포인트다.Mac에서 여러 버전을 실행하는 것만 신경 쓴다면 멀티플랫폼 솔루션이 필요하지 않다.인기 SDK 수십 개에 대한 SDKMAN의 지원은 Jabba와 함께 가면 놓치는 것이다.

수동으로 버전을 관리하는 것이 아마도 최악의 선택일 것이다.버전을 수동으로 전환하기로 결정한 경우 Jayson의 상세 코드(홈브루-openjdk README의 코드 조각:

jdk() {
        version=$1
        export JAVA_HOME=$(/usr/libexec/java_home -v"$version");
        java -version
 }

Jayson의 대답은 SDKMAN과 jenv에 대한 기본적인 명령을 제공한다.SDKMAN에 대한 자세한 내용과 이러한 도구에 대한 배경 정보를 보려면 젠브에 대한 자세한 정보를 참조하십시오.

특정 주요 릴리즈를 유지하려면 AdaptEnterOpen을 활성화하십시오.브루 탭으로 JDK 탭을 누른 다음 브루 캐스크 설치로 원하는 버전을 설치하십시오.

$ brew tap AdoptOpenJDK/openjdk
$ brew cask install <version>

AdapteOpen을 설치하려면HotSpot이 있는 JDK 14, 실행:

$ brew tap AdoptOpenJDK/openjdk
$ brew cask install adoptopenjdk14

원하는 방법으로 JDK 버전을 설치할 수 있다.

  • 홈브루
  • SDK맨
  • 수동으로

그렇다면 다른 버전으로 전환하여 글로벌 또는 로컬에서 필요한 JDK를 사용할 것을 권장한다.

여기에서 JENV를 설치하고 사용하는 방법에 대한 자세한 내용을 확인할 수 있다 -> https:///blog.adamgamboa.dev/2021/06/17/using-jenv-to-switch-jkd-versions/

참조URL: https://stackoverflow.com/questions/52524112/how-do-i-install-java-on-mac-osx-allowing-version-switching

반응형