Mac에 Java 8을 설치하는 방법


992

Java 8이 필요한 최신 JavaFX로 프로그래밍하고 싶습니다. IntelliJ 13 CE 및 Mac OS X 9 Mavericks를 사용하고 있습니다. Oracle의 Java 8 설치 프로그램을 실행했는데 파일이 끝 났던 것처럼 보입니다.

/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk

그러나 이전 버전은

/System/Library/Java/JavaFrameworks/jdk1.6....

확실하지 최신 설치가이를두고 왜 /Library대신에 /System/Library(도 차이가 무엇인지). 그러나 /usr/libexec/java_home1.8을 찾지 못하므로 현재 Java 버전을 설정하는 방법에 대해 찾은 모든 게시물이 작동하지 않습니다. 1.8이 /System/Library...경로 에있는 것처럼 보이도록 심볼릭 링크를 추가하려고 시도했지만 도움이되지 않습니다. /usr/libexec/java_home -V여전히 오래된 Java 1.6 만 나열합니다.

아이러니하게도 시스템 환경 설정의 "자바"제어판에는 Java 1.8 만 표시됩니다!

오라클 설치 프로그램이 실제로 어디로 향하지 않습니까? 이 문제를 어떻게 해결할 수 있습니까?


8
결국 "진짜로 간다"- /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/. 이전 버전은 Apple에서 제공 한 Java 버전으로 이동했으며 Apple에서 더 이상 Java를 제공하지 않으므로 설치 위치가 변경되었습니다.
awksp

답변:


1886

오라클은 Java를 쉽게 설치하고 구성 할 수있는 기록이 좋지 않지만 Homebrew 를 사용하여 최신 OpenJDK (Java 14)를 다음과 함께 설치할 수 있습니다.

brew cask install java

이전 버전 (일반적으로 Java 8)에 따라 많은 사용 사례의 경우 AdoptOpenJDK 프로젝트를 통해 추가 단계를 수행 할 수 있습니다.

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8

기존의 Homebrew 사용자는 Error: Cask adoptopenjdk8 exists in multiple taps다른 지침이있는 사전 해결 방법으로 인해 발생할 수 있습니다 . 로 위치를 완전히 지정하면이 문제를 해결할 수 있습니다 brew cask install adoptopenjdk/openjdk/adoptopenjdk8.


89
2015 년 12 월 현재, 이제는 홈 브루 설치의 일부이므로 통을 수동으로 설치할 필요가 없습니다. 를 통해 homebrew를 업데이트 한 후에는를 brew update사용하도록 설정되었습니다 brew cask.
davetw12

63
감사합니다. "공식"링크 / 문서를 사용한 Java 설치 프로세스가 얼마나 끔찍한 지 놀랍습니다.
enderland

15
@tandrewnichols 방금 brew cask install javaEl Capitan Mac에서 실행했는데 다운로드 중 jdk-8u112-macosx-x64.dmg입니다.
Calrion

44
Error: Cask 'java8' is unavailable: No Cask with this name exists.
Elderry

87
해결 방법은 다음 brew tap homebrew/cask-versions과 같습니다.brew cask install homebrew/cask-versions/adoptopenjdk8
Sean Breckenridge

736

참고 : Oracle Java 8/9/10은 더 이상 공개 다운로드에 사용할 수 없습니다 (라이센스 변경).

터미널에서 먼저 brew 를 설치하고 업데이트하십시오 .

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew tap homebrew/cask-versions

brew update

2019 년 6 월 현재 NEW

AdoptOpenJDK에서 JDK를 설치하려면 다음을 수행하십시오.

brew tap adoptopenjdk/openjdk

brew cask install adoptopenjdk8
brew cask install adoptopenjdk9
brew cask install adoptopenjdk10
brew cask install adoptopenjdk11

낡은

자바 8 :

brew cask install java8

자바 최신 :

brew cask install java

3
Mavericks에서는 이것이 효과가 없었기 때문에 OP의 질문에 대답하지 않았지만, Captain에서는 효과가 있었으므로 답으로 유용했습니다.
Tommy

3
새로운 OS X El Capitan 컴퓨터에 홈 브루를 새로 설치 brew tap했으며 위의 답변 에서 명령 을 실행할 필요가 없었습니다 . 첫 번째와 세 번째 명령으로 충분했습니다.
Adil Hussain

14
Error: Cask 'java8' is unavailable: No Cask with this name exists.
user924

4
$ brew cask install adoptopenjdk8 Error: Cask adoptopenjdk8 exists in multiple taps: caskroom/versions/adoptopenjdk8 adoptopenjdk/openjdk/adoptopenjdk8. 내가 사용해야합니다brew cask install adoptopenjdk/openjdk/adoptopenjdk8
roottraveller

5
brew tap homebrew/cask-versionsbrew cask install adoptopenjdk8하이 시에라 10.13.6에 나를 위해 작품
xjlin0

135

Java8은 더 이상 homebrew에서 사용할 수 brew install java8없으며 작동하지 않습니다.

대신 다음을 사용하십시오.

brew cask install adoptopenjdk/openjdk/adoptopenjdk8

기술적 세부 사항 은 이 커밋 을 참조 하십시오.

주변에 문제가있을 수도 있습니다 Cask adoptopenjdk8 exists in multiple taps. 이것은 현재 알려진 문제이며 여기에서 볼 수 있습니다.

https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106

세부 정보를 거치지 않으려는 사람들을 위해 요약은 다음과 같습니다.

# To install JDK8
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

# To be able to safely run 'brew cleanup'
brew untap adoptopenjdk/openjdk
brew untap caskroom/versions
brew cleanup

2
를 사용하는 AdoptOpenJDK/openjdk대신 사용에 차이가 있습니까homebrew/cask-versions/adoptopenjdk8
Sean Breckenridge

내가 대답을하려고 할 때 나는 다음을 얻을 : 캐스 크 adoptopenjdk8 여러 탭에 존재 : caskroom / 버전 / adoptopenjdk8 adoptopenjdk / 오픈 JDK / adoptopenjdk8
Koray 투 케이

@ KorayTugay 답변을 업데이트했습니다. 이것은 문제를 해결해야합니다!
Dave Kerr

1
@SeanBreckenridge-HomeBrew 팀은 AdoptOpenJDK가 사용되는 것처럼 보이지만 현재 약간의 불확실성이 있지만 현재 열려있는 문제 github.com/AdoptOpenJDK/homebrew-openjdk/issues/106 을 참조하십시오!
Dave Kerr

1
brew cask install homebrew/cask-versions/adoptopenjdk8나를 위해 일했다
protoEvangelion

123

방금 MBP에서이 작업을 수행해야했습니다.

$ brew tap caskroom/versions
$ brew cask install java8

java8을 설치하기 위해.


9
특정 버전의 Java를 설치하는 데 도움이되었습니다. 이제 java 9가 나오면 "brew cask install java"를 실행하면 java 9가 설치됩니다. "brew caskroom / versions"를 실행할 때까지 "brew cask install java8"이 작동하지 않았습니다.
인터럽트

6
예, brew tap caskroom/versionsjava8 설치하기 전에 필요
헨드릭스

11
또는 단지 brew install homebrew/cask-versions/java8승리를 위해!
나루토 Sempai

4
Oracle 라이센스 변경으로 인해 Brew를 사용하여 Java8을 더 이상 설치할 수 없습니다. 더 이상 Java8을 공개 다운로드 할 수 없습니다.
Marcelo Xavier

2
여전히 java8을 사용하려면 stackoverflow.com/a/55775566/9306378을 참조하십시오 . 이것은 OpenJDK를 사용합니다.
Polpetta

62

로컬 컴퓨터에서 응용 프로그램을 실행하기 시작한 옵션은 Docker를 사용하는 것입니다. 공식 JDK 컨테이너 내에서 간단히 응용 프로그램을 실행할 수 있습니다. 즉, 로컬 컴퓨터에 모든 것을 설정하는 것에 대해 걱정할 필요가 없습니다 (또는 다른 응용 프로그램에 대해 여러 다른 버전의 JDK를 실행하는 것에 대해 걱정할 필요가 없음).

이것이 현재 설치 문제를 해결하는 데 도움이되지는 않지만이 솔루션은 개발자 컴퓨터에서 Java를 올바르게 실행하는 것과 관련된 문제를 피할 수 있습니다.

이점은 다음과 같습니다.

  1. 로컬 컴퓨터에서 Java 버전을 설정할 필요가 없습니다 (Docker Hub에서 가져 오는 컨테이너 내에서 Java를 실행하면됩니다)
  2. 컨테이너의 태그를 변경하여 다른 버전의 Java로 전환하기가 매우 쉽습니다.
  3. 프로젝트 종속성은 컨테이너 내에 설치되므로 구성을 엉망으로 만들면 컨테이너를 정리하고 다시 시작할 수 있습니다.

매우 간단한 예 :

Dockerfile: 만들기

FROM java:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
  • 여기서는 SDK 버전 8을 실행하는 Java 컨테이너를 지정합니다 ( java:8-Java 7을 사용하려면 다음을 지정할 수 있음 java:7).
  • /usr/src/myapp컨테이너 내부의 디렉토리와 로컬 디렉토리를 매핑 하고 있습니다.

docker-compose.yml파일을 작성 하십시오.

version: "2"

services:
  java:
    build: .
    volumes:
      - .:/usr/src/myapp

이제이 Java 파일이 있다고 가정하십시오.

HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {        
        System.out.println("Hello, World");
    }
}

따라서 다음과 같은 파일 구조가 있습니다.

.
|_ Dockerfile
|_ docker-compose.yml
|_ HelloWorld.java

다음과 같은 다양한 Java 작업을 수행 할 수 있습니다.

엮다:

docker-compose run --rm java javac HelloWorld.java 
  • HelloWorld.class는 현재 디렉토리에 표시됩니다 (이는 코드가 존재하는 컨테이너 내부의 위치에 현재 디렉토리를 맵핑 한 원인입니다)

운영:

docker-compose run --rm java java HelloWorld 
  • 참고 : 처음 실행하면 이미지 등을 가져옵니다. 시간이 오래 걸립니다-처음에만 발생합니다.
  • docker-compose run -컨테이너 내에서 명령을 실행합니다
  • -rm 명령 실행이 완료되면 docker가 컨테이너를 제거하도록 지시합니다.
  • java 이 명령이 실행될 서비스 / 컨테이너의 이름입니다 (도커 작성 파일에서).
  • 나머지 줄은 컨테이너 내부에서 실행되는 명령입니다.

이것은 로컬 설정을 완전히 망칠 필요없이 다른 응용 프로그램에 대해 다른 버전의 Java를 실행하는 멋진 방법입니다.

다음은 Maven과 간단한 Spring 앱 이있는 약간 더 복잡한 예입니다.

기권:


2
Docker를 사용하는 좋은 예, 왜 이전에 공감대를 얻었는지 확실하지 않습니다.
Andrew

28
OS X / MacOS에서 Java를 실행하는 질문에 대답하지 않기 때문에 공감대를 상상합니다. "플랫폼 X에서이 작업을 수행하는 방법"과 "플랫폼 Y에서 VM / shim을 사용하여 작업하는 방법"으로 응답하는 것은 생산적이지 않습니다.
whitfin

특히 네이티브 자바 개발 (예 : SWIG, JNI 및 LIBRARY_PATH 사용)
Mizux

56

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

캐스 크 설치 (Homebrew 0.9.5 이상에서는 캐스 크가 포함되므로이 단계를 건너 뛰십시오) :

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

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

$ brew cask install java

Java 8을 설치하려면 :

$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

여러 버전을 설치 / 관리하려면 '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

JAVA_HOME을 설정하려면 다음을 수행하십시오.

$ jenv enable-plugin export

2
최고의 솔루션! 감사합니다!
viktorianer

1
감사! 내가 찾던 것.
csomakk

감사합니다. 짧고 포인트 솔루션으로 시작하고 또 다른 유용한 도구를 계속 사용합니다. 'jenv'는 가지고 다니기에 편리하고 대부분의 다른 답변에서 빠졌습니다. 2020 년에 Scala (2.12 / 2.13) 코드를 패키징하는 데 도움이됩니다.
emllnd

매력처럼 작동, 맥주 통 설치 채택 openjdk / openjdk / adoptopenjdk8
jeadonara

25

Android SDK Manager를 실행하려면 JDK8을 설치해야하기 때문에 해결해야 할 동일한 문제가 있습니다 (JDK9와 잘 작동하지 않는 것 같습니다). 그러나 Mac (Sierra)의 모든 문제를 해결하는 방법을 알려줍니다.

먼저 cask 및 jenv로 추출 해야합니다 .

  1. 유용한 안내서는 Homebrew Cask 설치 안내서 에서 찾을 수 있습니다 . 터미널에서 실행되는 '캐스 크룸 / 버전'을 탭해야합니다. brew tap caskroom/versions
  2. 그런 다음 jenv를 다음과 같이 설치하십시오. brew install jenv
  3. 통 당신이 원하는대로 버전 설치 brew cask install java8(또는 java7또는 java최신 버전을 설치하려는 경우, jdk9)
  4. 마지막 단계는 jenv versions시스템에 설치된 모든 버전을 나열 하기 위해 실행할 버전을 구성하고 jenv가 JAVA_HOME을 관리하도록 허용 한 다음 원하는 버전을 활성화하는 것입니다.jenv global [JDK_NAME_OF_LIST]

이 Github Gist brew-java-and-jenv.md의 블로그 에서 다른 유용한 정보를 찾을 수 있습니다 .이 블로그 에서 MacJenv 웹 사이트여러 JDK 설치


jenv는 매우 쉽고 매우 유용합니다. Java 8과 11이 필요한 여러 프로젝트가 있습니다
Nikhil Sahu


18

컴퓨터에 여러 Java 버전이 있고 런타임에 동적으로 선택하려는 경우, 즉 내 경우에는 두 가지 버전이 있습니다.

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

/etc/profile내용 을 수정하여 변경할 수 있습니다 . 파일 끝에 다음 두 줄을 추가하거나 수정하십시오.

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

필자의 경우 사용하려면 다음과 같아야합니다.

자바 7 :

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

자바 8 :

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

파일을 저장 한 후 실행 source /etc/profile 하면 제대로 작동합니다. 다음에 따라 첫 번째 옵션과 두 번째 옵션을 사용할 때의 결과는 다음과 같습니다.

자바 7 :

java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

자바 8 :

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

Java 폴더가 다른 위치에있는 경우 프로세스가 비슷합니다.


alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java? 와 같이 다른 버전에 대한 별칭을 작성하지 않는 이유는 무엇 입니까?
cglacet

14

아직 아무도 SDK man ( https://sdkman.io/ )에 대해 언급하지 않은 것 같습니다 .

SKD man을 사용하면 Mac에 여러 버전의 Java를 설치하고이 버전간에 쉽게 전환 할 수 있습니다. 자세한 내용은 https://sdkman.io/usage 에서 확인할 수 있습니다 .

예를 들면 다음과 같습니다.

$ sdk list java                                                                                                                                                                                                                       
================================================================================
Available Java Versions
================================================================================
   * 12.ea.20-open
     11.0.1-zulu
 > * 11.0.1-open
     10.0.2-zulu
     10.0.2-open
     9.0.7-zulu
     9.0.4-open
     8.0.192-zulu
     8.0.191-oracle
   + 8.0.181-oracle
     7.0.181-zulu
     1.0.0-rc-10-grl
     1.0.0-rc-9-grl
     1.0.0-rc-8-grl


================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

$ sdk install java 8.0.191-oracle

$ sdk use java 8.0.191-oracle

Using java version 8.0.191-oracle in this shell.                                                                                                                                                                                                      

$ java -version                                                                                                                                                                                                                        
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

$ sdk use java 11.0.1-open                                           

Using java version 11.0.1-open in this shell.

$ java -version                                                                                                                                                                                                                        openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
                                                                                                                                                                                                         ```


13

Java 7과 8을 모두 사용하는 애플리케이션이 있으며 항상왔다 갔다해야합니다.

Johan이 작성한이 스크립트를 사용합니다.

http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/

이제 시작할 때 설정하거나 나중에 스크립트를 호출 할 수 있습니다.
Mac 용 JDK를 설치하십시오.

자바 7

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

자바 8

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


추천 업데이트 !! :

jenv https://www.jenv.be/ 및 homebrew를 사용하십시오 .

그런 다음 그 정의 jenv global oracle6401.6.0.39와 세트.


1
+1 :이 스크립트를 사용하는데 동의합니다. 다른 버전의 Java가 필요한 여러 프로젝트가있는 개발자에게는 매우 유용합니다.
barclay

8
시스템 전체에서 특정 버전 만 사용하면 스크립트를 설정할 필요가 없습니다. 기본적으로 모든 당신이해야 할 것은 당신에 추가입니다 ~/.bashrc~/.bash_profile: "는 / usr / libexec 디렉토리 / JAVA_HOME -v 1.8"= 수출 JAVA_HOME 하고 또한 추가 $JAVA_HOME/bin$PATH자바 설치 프로그램이 이미하지 않은 경우. (참고 : / usr / libexec / java_home에 대해 큰 따옴표를 백틱으로 바꾸십시오. 주석에는 리터럴 백틱을 입력 할 수 없습니다.)
ccpizza

homebrew를 통해 java 7 (java 8과 함께)을 설치하려면 명령 brew tap caskroom/versions뒤에 brew cask install java7. 가 옵니다 .
icfantv

2
jenv 는 전역 또는 로컬 디렉토리별로 여러 버전의 Java를 관리 할 수있는 매우 편리한 도구입니다.
Christian Long

12

설치 프로그램, Luke 사용

Homebrew 패키지 관리자를 제안하는 다른 답변 은 나에게 약간 극단적 인 것처럼 보입니다. Homebrew 가 잘 사용하고 있다고 확신 합니다. 그러나 간단히 Java를 실행하려면 Homebrew를 설치 하는 것이 불필요한 추가 단계입니다. 단순히 Java를 실행하는 것이 목표라면 신뢰할 수있는 소스에서 Mac 설치 프로그램을 다운로드하십시오.

Mac에 Java를 배치하기 위해 사용하기 쉬운 설치 프로그램을 얻을 수있는 여러 소스가 있습니다. 다른 많은 앱과 마찬가지로 Mac에서 설치 프로그램을 실행하십시오.

다음은 Java 11 소스를 찾는 플로우 차트 다이어그램이며, 일부는 Java 8도 제공합니다.

Java 11 구현을위한 공급 업체 선택을 안내하는 순서도

AdoptOpenJDK.net과 같은 공급 업체에서 설치 프로그램을 다운로드하십시오.

AdoptOpenJDK.net에서 다운로드 페이지

설치 프로그램을 실행하십시오.

설치 프로그램 실행의 스크린 샷

JavaVirtualMachines 폴더가 이제 정확합니다

오라클 설치 프로그램이 실제로 어디로 향하지 않습니까? 이 문제를 어떻게 해결할 수 있습니까?

문제가 아니다.

이 폴더 /Library/Java/JavaVirtualMachines/에 대한 새로운 가정이다 JVM 의에 맥 OS .

Finder에서 "/ Library / Java / JavaVirtualMachines /"폴더의 스크린 샷

JVM을 설치하려면 아래 설명 된 설치 프로그램을 사용하십시오.

제거하려면 간단히 Finder를 사용하여 해당 폴더에서 JVM을 삭제하십시오. 제거를 완료하려면 시스템 관리자 비밀번호를 입력하라는 메시지가 표시됩니다.


자바 9 & 10 & 11

돌아 가기 2010 년, 애플은 가입 오픈 JDK 프로젝트를 함께 오라클 , IBM , 레드햇 , 아줄 및 기타 자바 업체. 각 멤버는 통합 OpenJDK 코드베이스에 소스 코드, 테스트 및 피드백을 제공합니다.

Apple은 대부분의 Mac 관련 코드를 JVM에 제공했습니다. 이제 Apple은 더 이상 자체 Mac 전용 JVM을 출시하지 않습니다. 이제 OpenJDK 코드베이스에서 빌드가 제공되는 JVM 공급 업체를 선택할 수 있습니다.

http://openjdk.java.net 에서 소스 코드를 찾을 수 있습니다.

새로운 출시 케이던스

2017 년에 Oracle, JCP 및 OpenJDK는 정기적으로 예정된 Java 버전을 예측 가능한 방식으로 제공하기 위해 새로운 빠른 "릴리즈 트레인"계획 을 채택했습니다 .

자세한 내용은 2018-07 Azul Systems 블로그 게시물을 읽고 Simon Ritter의 Java Update Confusion을 제거 하십시오 .

또한 읽기 자바는 여전히 무료입니다 .

공급 업체

과거와 현재의 JVM 구현에 대한 전체 목록은 Wikipedia의이 페이지를 참조하십시오 .

다음은 몇몇 공급 업체에 대한 설명입니다. 더 많은 공급 업체에 대해서는 위의 순서도를 참조하십시오

Oracle JDK

Oracle은 macOS를 포함한 여러 플랫폼에 JDK 및 JRE 설치 프로그램을 제공합니다.

썬을 인수 한 이후 수년 동안 오라클은 두 가지 JVM 엔진 인 HotSpotJRocket 의 최고의 부분을 결합하여 자체 브랜드의 Java 구현을위한 기반으로 사용되는 OpenJDK 프로젝트에 병합했습니다 .

그들의 새로운 사업 계획은 2018 년 현재, Oracle 브랜드의 Java 구현을 생산 비용으로 개발 / 테스트 / 데모에서 무료로 제공하는 것입니다. 이전 릴리스를 지원하려면 유료 지원 프로그램이 필요합니다. 그들은 브랜드 릴리스가 OpenJDK 릴리스와 기능이 동일하다는 의도를 선언했습니다. 또한 Flight Recorder 와 같은 상용 애드온 을 OpenJDK 프로젝트에 기증했습니다 .

오라클은 또한 지원하지 않는 OpenJDK 빌드를 출시합니다 : http://jdk.java.net/

오라클은 특수 목적 JDK 인 GraalVM을 생산했습니다 .

줄루 & 바이 아줄

Azul Systems 는 다양한 JVM 제품을 제공합니다.

  • 이들의 Zulu라인은 OpenJDK를 직접 기반으로하며 유료 지원 플랜 옵션으로 무료로 제공됩니다.
  • 그들의 Zing라인은 특수 가비지 콜렉터 와 같은 대체 기술 구현으로 향상된 상용 JVM 제품을 제공합니다 .

두 라인 모두 macOS 용 설치 프로그램을 제공합니다.

현재 IntelliJ 2018.2 및 Vaadin 8 과 함께 macOS High Sierra 에서 Java 10.0.1에 Zulu 를 사용하고 있습니다 . 나는 이 페이지에서 다운로드 . 그런데, 나는 할 수 없습니다 애플에 설치된 자바 관련 항목을 찾아 시스템 환경 설정의 응용 프로그램을.

AdoptOpenJDK.net

AdoptOpenJDK 는 OpenJDK 소스의 바이너리를 빌드하기위한 커뮤니티 주도 노력입니다. 커뮤니티 회원이 기증 한대로 시간이 지남에 따라 업데이트를 제공하려고합니다.

  • HotSpot 또는 OpenJ9 엔진 중 하나를 선택하십시오 .
  • macOS, Linux 및 Windows에서 사용 가능한 빌드입니다.

Eclipse의 OpenJ9

OpenJ9의 프로젝트는 JVM을 엔진의 또 다른 구현에 대한 대안이다 핫스팟 .

이제는 2017 년에 IBM이 기증 한 기술과 후원으로 Eclipse Foundation에서 후원했습니다.

사전 빌드 된 바이너리의 경우 위에서 언급 한 AdoptOpenJDK 프로젝트 를 참조합니다 .

Java.png 공급 업체 선택 동기


설치하는 방법

Oracle 또는 Azul에서 제공하는 설치 프로그램은 모두 작동하기 매우 간단합니다. Mac에서 설치 프로그램을 실행하기 만하면됩니다. 설치 진행률을 나타내는 창이 나타납니다.

완료되면 다음을 통해 JVM 설치를 확인하십시오.

  • /Library/Java/JavaVirtualMachines/새 JVM에 대한 항목을 보려면 폴더를 방문 하십시오.
  • Terminal.app 및 type과 같은 콘솔을 실행 java -version하여 JVM의 브랜드 및 버전 번호를 확인하십시오.

성공을 확인한 후 Finder에서 .dmg 이미지를 분리하십시오. 그런 다음 다운로드 한 .dmg 파일을 휴지통에 버립니다.


11

mac High Sierra 에서이 명령을 실행하십시오.

brew update
brew tap caskroom/versions
brew cask install java8

명령으로 확인

java -version

이것을 얻는 :Error: Download failed on Cask 'java8' with message: Download failed: https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-macosx-x64.dmg
Siddhartha


7

가장 좋은 방법은 Brew 패키지 관리자를 사용하는 것이지만 명령은

 brew cask install java8

오류와 함께 실패 :

Error: No available formula with the name "java8" 

그래서 사용

brew cask install caskroom/versions/java8

brew search 명령을 사용하여 "caskroom / versions / java8"을 어떻게 찾았습니까?

brew cask search java8

7

당신이 그것을 사용하는 경우 NOT 개인 사용을 위해, 당신은 오라클에서 잠재적 인 소송을 피하기 위해 대신 오픈 JDK 사용할 수도 있습니다.

brew cask install adoptopenjdk8

/ usr / local / Homebrew / Library / Taps / 찾기 | grep -i jdk | xargs rm -v "오류 : Cask adoptopenjdk8이 여러 탭에 존재합니다"오류가 발생합니다.
Yordan Georgiev

5

Mac에 있다면 Homebrew가 물건을 설치하는 방법입니다.

버전 8은 더 이상 최신 버전이 아니므로 default를 사용하여 사용할 수 없습니다 brew cask install java.

대신 다음을 수행하여 관리했습니다.

brew install homebrew/cask-versions/

이것이 실패하면 다음을 직접 시도하십시오.

brew install homebrew/cask-versions/adoptopenjdk8

brew cask list또는로 테스트java -version


+1, macOS 10.12.6 Sierra에서 작동합니다. (또는 양조 설치 통 adoptopenjdk / 오픈 JDK / adoptopenjdk8)
맥 칼리 스터 보먼

+1 첫 번째 방법이 실패했습니다 (오류 : 이름이 "homebrew / cask-versions /"인 사용 가능한 수식 없음). 두 번째 것이 작동하는 것 같습니다. 첫 번째 실패로 사람들을 놀라게하지 않도록 답변이 업데이트되었습니다.
Dennis Jaheruddin

4

가장 간단한 방법은 다음 사이트에서 dmg 파일을 다운로드하고 두 번 클릭하여 설치하는 것입니다

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

홈 디렉토리에서 사용 가능한 JVM을 찾으십시오.

ls -al /Library/Java/JavaVirtualMachines

관련 버전으로 .bash_profile을 업데이트하십시오.

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk./Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

그리고 마지막으로

source ~/.bash_profile

3

Homebrew와 함께 설치

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

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

brew update

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

brew tap homebrew/cask-versions

3. AdoptOpenJDK 버전의 경우 해당 탭을 추가하십시오.

brew tap adoptopenjdk/openjdk

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

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

brew search java 

또는 AdoptOpenJDK 버전의 경우 :

brew search jdk     

5. 설치할 버전의 세부 사항을 확인하십시오.

brew cask info java

또는 AdoptOpenJDK 버전의 경우 :

brew cask info adoptopenjdk

6. java11, adoptopenjdk8과 같은 특정 버전의 JDK를 설치하거나 현재의 경우 java 또는 adoptopenjdk 만 설치하십시오. 예를 들면 다음과 같습니다.

**brew cask install java**

**brew cask install java8**

**brew cask install java11**

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

brew cask install homebrew/cask-versions/java11

아마도 내가 잘못한 것이 있지만 java8을 시도 할 때 오류가 발생했습니다. 오류 : Cask 'java8'을 사용할 수 없습니다.이 이름의 Cask가 없습니다.
Dennis Jaheruddin

2

당신은 이것을 시도 할 수 있습니다 :

$ brew search jdk
$ brew cask install homebrew/cask-versions/adoptopenjdk8
$ /usr/libexec/java_home

 


2

가장 쉬운 방법

1) brew cask install java

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

PS-Cask는 Homebrew의 확장으로, 대규모 Mac 바이너리 및 그래픽 응용 프로그램을 관리하지만 Homebrew 인터페이스를 사용합니다. Apple StackExchange 에서이 답변 을 참조하십시오 .


항상 최신 버전을 설치합니다
Ray Garner

1

시도 :

양조 통 설치 자바 8, 그것은 아래의 결과를 줄 것입니다

라디오 헬퍼 채택 openjdk8 amitv87-pip corretto8 icons8 vmware-fusion8 x48 zulu8

다음을 입력하십시오 : brew cask install adoptopenjdk8 ---- java 8이 Mac에 설치됩니다.




-4

아래 단계는 나를 위해 일했습니다.

1) 모든 jdk 제거

터미널 창에서 아래 명령을 복사하여 붙여 넣기 :

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefpane

2) APPLE jdk를 설치하십시오.

https://support.apple.com/kb/DL1572?locale=en_US

3) Oracle에서 최신 JDK를 다운로드하여 설치하십시오. 저에게는 JDK 1.82였습니다.

http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

그게 다 매력처럼 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.