programing tip

Mac에 Java 8을 설치하는 방법

itbloger 2020. 9. 29. 07:24
반응형

Mac에 Java 8을 설치하는 방법


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"제어판에는 Java 1.8 만 표시됩니다!

Oracle의 설치 프로그램이 실제로는 어디에 배치하지 않습니까? 이 문제를 어떻게 해결할 수 있습니까?


Mac에 Java를 올바르게 설치하기 위해 Oracle에 의존하지 마십시오.

Homebrew를 사용하십시오 . 그러면 최신 jdk가 설치됩니다.

brew cask install java

Mac에서 여러 버전의 Java를 관리하려면 jenv 사용을 고려 하십시오 .

업데이트 : Java 8이 더 이상 최신 버전이 아니므로 Java 8을 다음과 같이 설치하십시오.

brew tap caskroom/versions
brew cask install java8

자바의 모든 이전 버전의 목록을 얻으려면 : brew tap caskroom/versions다음 및 사용 brew search java.

우리는 사용 양조 통을 우리는 그렇지 가능성이 Mac에서 제대로 자바를 설치하지 않습니다 오라클 GUI 설치 프로그램을 사용하는 것 때문이다. (사용 양조는 APP을 설치 통 GUI 애플리케이션을 설치, 사용 APP를 설치 BREW .) 자바는 GUI 애플리케이션 아니다; 그것은 해야한다 "통"을 필요로하지하지만 적어도 오라클은 일치한다.


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

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

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

brew tap caskroom/versions

brew update

2019 년 6 월부터 새로운 기능

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

Java 최신 :

brew cask install java

방금 MBP에서이 작업을 수행했고

$ brew tap caskroom/versions
$ brew cask install java8

java8을 설치하려면


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

내 로컬 컴퓨터에서 애플리케이션을 실행하는 데 정말 마음에 드는 옵션은 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 앱 이있는 약간 더 복잡한 예제가 있습니다.

부인 성명:


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

먼저 cask와 jenv를 사용 하여 brew필요합니다 .

  1. 여기에서 유용한 가이드를 찾을 수 있습니다 . Homebrew Cask Installation Guide . 터미널에서 실행중인 'caskroom / versions'를 탭해야합니다.brew tap caskroom/versions
  2. 그 후 다음을 사용하여 jenv를 설치하십시오. brew install jenv
  3. 통 당신이 원하는대로 버전 설치 brew cask install java8(또는 java7또는 java최신 버전을 설치하려는 경우, jdk9)
  4. 마지막 단계는 실행할 버전을 구성하고 (그리고 jenv가 JAVA_HOME을 관리하게 함) jenv versions컴퓨터에 설치된 모든 버전을 나열한 다음 원하는 버전을 활성화하는 것입니다.jenv global [JDK_NAME_OF_LIST]

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


brew cask install caskroom/versions/java8

가정 : Mac 컴퓨터이고 이미 homebrew를 설치했습니다.

통 설치 :

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

최신 Java를 설치하려면 :

$ brew cask install java

Java 8을 설치하려면

$ brew cask install java8

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

컴퓨터에 여러 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 폴더가 다른 위치에있는 경우 프로세스는 유사합니다.


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


Mac High Sierra 에서 다음 명령 실행

brew update
brew tap caskroom/versions
brew cask install java8

명령으로 확인

java -version

설치 프로그램 사용, Luke

Mac에 Java를 설치하는 데 사용하기 쉬운 설치 프로그램을 얻을 수있는 여러 소스가 있습니다. Brew 또는 다른 접근 방식을 제안하는 다른 답변은 나에게 약간 극단적 인 것 같습니다. 신뢰할 수있는 소스에서 Mac 설치 프로그램을 다운로드하고 실행하기 만하면됩니다.

다음은 Java 11의 소스를 찾는 순서도이며 일부는 Java 8도 제공합니다.

Java 11 용 소스 선택을위한 lowchart.

JavaVirtualMachines 폴더가 이제 올 바릅니다

Oracle의 설치 프로그램이 실제로는 어디에 배치하지 않습니까? 이 문제를 어떻게 해결할 수 있습니까?

문제가 아니다.

이 폴더 /Library/Java/JavaVirtualMachines/macOS 에서 JVM새로운 홈입니다 .

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

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


자바 9, 10, 11

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

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

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

새로운 출시주기

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

자세한 내용은이 2018-07 Azul Systems 블로그 게시물 인 Simon Ritter의 Eliminating Java Update Confusion을 참조하십시오 .

또한 Java Is Still Free를 읽어보십시오 .

공급 업체

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

내가 아는 현재 활성화 된 소스 세 가지가 있습니다.

Oracle JVM

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

썬을 인수 한 이후 몇 년 동안 Oracle은 두 JVM 엔진 인 HotSpotJRocket 의 가장 좋은 부분을 결합하여 자체 브랜드화 된 Java 구현의 기반으로 사용되는 OpenJDK 프로젝트에 병합했습니다 .

2018 년 현재 그들의 새로운 사업 계획은 개발 / 테스트 / 데모에 사용하는 비용없이 프로덕션에서 유료로 Java의 Oracle 브랜드 구현을 제공하는 것입니다. 이전 릴리스에 대한 지원에는 유료 지원 프로그램이 필요합니다. 그들은 브랜드 릴리스가 OpenJDK 릴리스와 기능이 동일하도록 의도를 선언했습니다. 그들은 심지어 Flight Recorder 와 같은 상업적 추가 기능 을 OpenJDK 프로젝트에 기부했습니다 .

Zulu & Zing by Azul

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을 엔진의 또 다른 구현에 대한 대안이다 핫스팟 .

이제 Eclipse Foundation에서 후원하고 있으며, 2017 년 IBM에서 기증 한 기술 및 지원을받습니다.

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


설치하는 방법

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

완료되면 다음을 수행하여 JVM 설치를 확인합니다.

  • /Library/Java/JavaVirtualMachines/새 JVM에 대한 항목을보기 위해 폴더를 방문합니다 .
  • Terminal.app같은 콘솔을 실행하고 java -versionJVM의 브랜드 및 버전 번호를 확인합니다.

성공 여부를 확인한 후 Finder에서 .dmg 이미지를 분리합니다. 그런 다음 다운로드 한 .dmg 파일을 삭제합니다.


아직 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)
                                                                                                                                                                                                         ```



양조주 사용

brew install Caskroom/cask/java

가장 좋은 방법은 BREW 패키지 관리자를 사용하는 것입니다.

 brew cask install java8

오류로 실패 :

Error: No available formula with the name "java8" 

그래서 사용

brew cask install caskroom/versions/java8

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

brew cask search java8

개인적으로 사용 하지 않는 경우 Oracle의 잠재적 인 소송을 피하기 위해 대신 OpenJDK를 사용할 수 있습니다.

brew cask install adoptopenjdk8

가장 쉬운 방법 -

1) brew cask install java (No need to install cask separately it comes with brew)

2) java -version

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

추신-양조 통이란 무엇입니까? - 브루 - 술통은 브루을 확장하고 해결할 수있는 문제는 별도의 명령을 실행하는 번거 로움이 "...이 아이콘을 드래그를 설치하려면" 사용하여 응용 프로그램 설치 후 브루을 .


가장 간단한 방법은 다음 사이트에서 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

시도해보십시오 :

brew cask install java 8, 아래 결과가 표시됩니다.

8tracksradiohelper 채택 openjdk8 amitv87-pip corretto8 icons8 vmware-fusion8 x48 zulu8

다음으로 들어가십시오 : brew cask install adaptopenjdk8 ---- java 8이 Mac에 설치됩니다.


이것을 시도 할 수 있습니다.

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

 


버전 (임시 및 영구) 변경이 매우 쉬운 SDK man을 사용하는 것이 좋으며 다른 SDK도 제공합니다. 지금까지 1 년 이상 SDK man을 사용하고 있습니다.

https://sdkman.io/


아래 단계가 저에게 효과적이었습니다.

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

그것이 매력처럼 작동하는 전부입니다.


나도 같은 문제가 있었다. 그러나 약간의 타격과 재판 끝에 문제를 해결할 수있었습니다.

sudo rm으로 1.6 sdk를 제거하고 Mac을 다시 시작하십시오.

.dmg 파일을 다시 다운로드하십시오. 다운로드 한 .dmg 설치 프로그램이 손상되었을 가능성이 있습니다. 다시 설치하십시오.

설치 후 다음 명령을 실행하십시오. jdk 8의 경로를 제공합니다. / usr / libexec / java_home -v 1.8

또한 jdk 8 폴더를 실행하고 볼 수 있습니다. 파일이 숨겨져있을 수 있습니다. ls -al / Library / Java / JavaVirtualMachines /

참고 URL : https://stackoverflow.com/questions/24342886/how-to-install-java-8-on-mac

반응형