Mac OS X에 Java 7을 설치했지만 터미널에서 여전히 버전 6을 사용하고 있습니다.


391

oracle 웹 사이트에서 다운로드 한 JDK 7u7을 설치했습니다. 그러나 설치 후에도 터미널에 여전히 Java 버전 6이 표시됩니다.

$java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

왜 Java 7이 나타나지 않는지 아십니까?

답변 : 문제가 해결되었습니다. 대답은 다음과 같습니다. 터미널에 .bash_profile이 있고 java 홈 변수가 1.6으로 설정되어 있음을 알았습니다.

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"

그래서 이것은 새로운 터미널 창을 열 때마다 문제를 일으키는 선입니다. 이 줄을 제거하면 문제가 해결됩니다. 여전히 @aleroot가 말한 것을 따라야하지만, 그래도 효과가 없다면 .bash_profile (또는 .bashrc) 설정 파일을 확인하여 이전에 Java 버전을 내보냈는지 확인하십시오.


23
이 문제가 있었지만 JDK가 아닌 JRE 만 업데이트했습니다. JDK를 업데이트하면 올바른 버전이 표시되었습니다.
— Paul Maserrat

다른 질문으로 마이그레이션 하시겠습니까?
— Nakilon

14
@Mazzy의 의견에 특별한주의를 기울이는 것은 쉬운 실수입니다. JRE v7을 다운로드하면 온라인 버전 검사기 또는 Java 제어판을 실행할 때 버전 7이 표시되지만 명령 줄에서 Java를 호출하면 이전에 설치된 JDK에서 이전 버전을 실행하게됩니다. 따라서 JRE뿐만 아니라 JDK를 설치했는지 다시 확인하십시오.
— Cam Jackson

1
이 문제를 해결하는 가장 좋은 방법은 여기 에 좀 더 유연한 방법 export JAVA_HOME으로 자세히 설명 된 방법 을 사용하는 것입니다.
— Brad Parks

5
이것을 대문자로 강조하겠습니다.이 페이지에 많은 사람들이 방문하면 최신 JDK를 다운로드하여 설치해야합니다. JAVA 제어판은 JRE 만 업데이트합니다.
— Walter Tross

답변:


64

다음과 같이 Java 환경 설정 분할 창에 입력하고 JVM 7에만 플래그를 지정해야하기 때문입니다.

자바 환경 설정

Mac OS X에서 Java 환경 설정 창 을 쉽고 빠르게 열려면 +를 사용 하여 스포트라이트를 호출하면됩니다.⌘SPACE 하여 하고 시스템 환경 설정을 입력 하면 창의 마지막 행에 표시됩니다.


3
예, 찾았습니다. 그러나 여전히 터미널의 1.6 버전이므로 재부팅해야합니다
— Yang

1
이 패널은 10.8에 더 이상 존재하지 않습니다. 대안?
— Pepijn 2013

68
@Pepijn Panale은 Mac OSX 10.8.2의 역사이며 더 이상 필요하지 않습니다. 대신 export JAVA_HOME=`/usr/libexec/java_home -v 1.7`Oracle에서 최신 Java 7 JDK로 전환하는 데 사용해야 합니다.
— Uwe Günther

23
나는 그들이 어느 시점에서 자바 환경 설정을 제거했다고 생각합니다. 내 상자에 Spotlight가 없습니다. 실행 10.8.5.
— quickshiftin

1
JAVA_HOME의 정확한 위치는-> 시스템 환경 설정-> java에서 찾을 수 있습니다. "자바"탭을 클릭하십시오. 보기를 클릭하십시오. 경로 변수는 JAVA_HOME (타일 / 홈)을 표시합니다.
— agaase

298

Oracle의 설치 프로그램은 Java를에 넣습니다 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin. 그리고 덮어 쓰지 않습니다 /usr/bin/java. 따라서

whereis java

터미널에서 / usr / bin / java를 반환합니다. (이것은 /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/javaApple의 1.6 버전 인을 가리킴).

따라서 새로운 Java 버전을 사용하려면 /usr/bin/java심볼릭 링크를 /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java대신 가리 키십시오 .

sudo rm /usr/bin/java
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin

22
명령은 다음과 같습니다. sudo ln -s / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Contents / Home / bin / java / usr / bin
— Binarian

11
빅토르의 명령이 작동합니다. 그러나 기존 자바 심볼릭 링크를 제거해야합니다.rm /usr/bin/java
— Matt Florence

7
오라클 직원이이 프로세스를 개선 할 때까지이 마지막 심볼릭 링크 단계까지 다음을 포함하여 osx 시스템에 java를 설치하는 전체 프로세스에 대한 하우투가 있습니다. gist.github.com/johan/10590467
— ecmanaut

61
내가있어rm: /usr/bin/java: Operation not permitted
— Aditya

37
또는export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
— Mick

114

JDK 7을 설치하면 이 문제가 저절로 해결됩니다.

JRE (Java Runtime Environment)가 아니라 컴파일러 및 이와 유사한 기능을 포함하는 JDK (Java Development Kit)를 확보하십시오.


7
JRE뿐만 아니라 전체 JDK를 설치하십시오.
— BrainO2

5
-1 도움이되지 않았습니다. JDK 설치 /usr/bin/java도 변경 되지 않습니다 JAVA_HOME. 그러나 JAVA_HOME도움의 설정 .
— Andrii Nemchenko

3
OSX 10.9.4에서 확인되었습니다. / usr / bin 링크를 변경하지 않고 그 아래의 내용을 변경합니다. 그래서 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java # But: /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java -version java version "1.7.0_67"
— 조 Atzberger

1
또한 JDK 1.8에서 근무 - (JDK 1.8 대신 JRE 1.8 설치)
— 마크 Chackerian

Java 1.8을 설치하려고 시도했지만 El Capitan에서 작동하지 않았습니다. 1.7을 설치하면 문제가 해결되었습니다.
— SPRBRN

104

vi ~/.bash_profile

더하다

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

/usr/bin/java링크 대상에 최신 Java 7 패키지를 설치하도록 지시합니다 .

/Library/Java/JavaVirtualMachines/

JDK의 1.7.0_17 JAVA_HOME경우 :

/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home

참고 : 최근 Mac OS X을 Appels 자체 시스템 통합 Java 패키지에서 Oracle 기반 Java 패키지로 옮기기 위해이 영역에서 많은 변화가있었습니다. 위의 솔루션은 Mac OS X 10.8.2부터 잘 작동합니다


4
'Java Preferences'가 제거되기 전과 후에 Mac OS 버전에서 작동하기 때문에이 답변에 +1이 있으며 "-v"옵션을 표시하면 java 7이더라도 Java 6을 사용하는 방법을 보여줍니다 설치되어 있습니다 (원하는 것입니다). 따라서 Lion (10.7.5)을 실행하는 Mac에서는 "-v 1.6"과 동일한 명령을 사용합니다. Java 6이 필요하고 Oracle은 Mac OS 용 Java를 제공하지 않기 때문에 중요합니다-Java 7 전용이며 Java 7이 설치되어 있어도 설치된 JAva 6을 사용할 수 있습니다.
— Rhubarb

1
또한, 더 유연하게 만들기 위해 : mikemainguy.blogspot.com/2014/11/…
— Mainguy

이 멋진 답변에 대한 추가 정보 는 여기 에서 찾을 수 있습니다 !
— Brad Parks

1.8 JKD를 설치 한 후 Sierra 10.12에서 1.7에서 1.8로 변경하여 내보내기가 작동했습니다. java_home 유틸리티를 사용하여 좋은 답변 !!
— Scott Byers

56

필자의 경우 문제는 Oracle이 이전과 다른 위치에 설치하고 있다는 것입니다.

Oracle에서 다운로드 : http://java.com/en/download/mac_download.jsp?locale=ko

  1. 시스템 환경 설정을보고 올바르게 설치되었는지 확인하십시오.

    • Spotlight를 열려면 Command-Space를 입력하고 'System Preferences'를 입력 한 다음 Enter 키를 누르십시오.
    • 맨 아래 행에서 Java 아이콘을 클릭하십시오. Java 제어판이 열리면 'Java'탭, '보기 ...'를 클릭하고 설치가 작동했는지 확인하십시오. '경로'도 볼 수 있습니다. 경로는 내 명령과 다른 경우 아래 명령을 사용할 수 있습니다.
  2. 버전이 예상 한 것인지 확인하십시오 (필요에 따라 경로의 하위).

    / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Contents / Home / bin / java -version

  3. / usr / bin / java에서 새 설치로의 링크 작성

    sudo ln -fs / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Contents / Home / bin / java / usr / bin / java

  4. 위생 검사 버전 :

    자바-버전


나에게도 효과가 있었지만 다른 설명도 시도했지만 Maverix에는 버전 번호를 선택할 수있는 패널이 없으며 .bash_profile을 변경해도 작동하지 않습니다. 완전한!
— Alex Cio

Eclipse에서 컴파일러에서 1.7이 표시되지 않음
— Laser Hawk

나를 위해 일했다!. Before = 1.6.0_65 and이 솔루션 사용 후 = 1.7.0_60 .... 감사합니다! :)
— 수학

그러나 이클립스는 여전히 'jvm 공유 라이브러리에 jni_createjavavm 기호가 포함되어 있지 않습니다'와 같은 오류를 발생시킵니다 .... :(
— maths

1
도와 주셔서 감사합니다! 이 외에는 아무것도 효과가 없었습니다. Running Yosemite
— LordZardeck

33

맥에 설치된 버전과 일치하도록 Java 버전을 업데이트하지 않는 터미널과 비슷한 문제가 발생했습니다.

JAVA_HOME 환경 변수 설정에 문제가 없었습니다.

나는 일시적이고 다소 고통 스럽지만 작동하는 해결책을 생각해 냈습니다.

.bash_profile에서 다음 줄을 추가하십시오.

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home"

(이것은 내 컴퓨터의 경로이지만 귀하의 컴퓨터와 다를 수 있습니다. 경로는 / Library / Java / JavaVirtualMachines /와 일치해야합니다.)

질주 source ~/.bash_profile

내가 언급했듯이 이것은 자바 홈 경로가 하드 코딩되어 있기 때문에 임시 반창고 솔루션입니다. 애플이 이미 터미널에서하고있는 것으로 최신 버전을 얻을 수있는 방법은 실제로 없으며 문제는 애플의 java_home 환경 변수가 업데이트되지 않는다는 것입니다.


4
디렉토리가 비어 있습니다. $ ls / Library / Java / JavaVirtualMachines /
— Pepijn

1
Java 7을 설치 한 위치에 문제가있을 수 있습니다 . oracle 's website 로 이동하십시오 . "Java SE Development Kit 7u11"링크를 클릭하고 라이센스 계약에 동의 한 후 "jdk-7u11-macosx-x64.dmg"를 다운로드하십시오. dmg를 사용하여 Java 7을 설치하면 JavaVirtualMachines 디렉토리에 저장해야합니다.
— 데릭

이것은 초기 2019 년 모하비 10.14.1에 하나 개의 솔루션입니다
— bitsand

27

El Capitan 이후 /usr/bin/java새로운 "루트리스"정책이 도입 되었기 때문에 심볼릭 링크 를 삭제하기가 어렵습니다 .

따라서, 단순히 (내 경우에는 이것이 최신 자바 버전에 대한 경로를 추가 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin받는 사람) PATH내에서 .bashrc파일 :

# Use latest java version
export PATH=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH

.bashrc현재 세션에 대한 파일 을 다시로드하려면 source ~/.bashrc셸에서 실행 하십시오. .bashrc파일을 변경하기 전에 시작된 세션에 대해서만이 작업을 수행해야 합니다.

이제 java쉘에서 사용할 때 최신 버전이 사용됩니다 .


1
이 특정 솔루션은 Mac OS X El Capitan에서 저에게 효과적이었습니다. 나는 엘 캐피 탄에 설치된 보안을 우회하지 않고 자바 버전 1.8을 설치했다. JAVA_HOME = / my specific path etc / 내보내기를 수행해도 작동하지 않습니다 (환경 설정으로 이동하여 경로를 1.8로 찾은 후). 1.6이 여전히 설치되어 있습니다. .bashrc 파일을 만들고 여기에 설명 된대로 경로를 설정해야했습니다. Java 버전과 shazzam을 실행했습니다! 효과가있었습니다.
— umbregachoong

El Capitan에서 작동하면서 다른 솔루션을 작동시킬 수 없기 때문에 이것이 작동하기를 원했습니다. '.bashrc'파일을 만들고 위와 같이 줄을 추가했지만 'java -version'을 입력하면 1.6이됩니다. 내가 간과 한 것이 있습니까?
— noLongerRandom

@ user3810073 아마 당신 source .bashrc은 .bashrc의 내용을 다시로드하기 위해 실행해야 할 수도 있습니다
— TabeaKischka

나를 위해 일했다. .bash_profile (사용자의 홈 디렉토리에 있음)에 행을 추가 한 다음 소스 .bash_profile을 추가했습니다. 그런 다음 java -version은 최신 버전을 제공했습니다. 감사!
— mrmuggles

이것은 또한 다음 /usr/local/bin과 같이 심볼릭 링크를 통해 달성 할 수 있습니다 . sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/local/bin/java 가정하는 /usr/local/bin것이 기본적으로 있어야 한다고 가정 /usr/bin합니다 $PATH.
— lifeofguenter

21

나에게 가장 쉽고 깨끗한 방법은 다음과 같이 homebrew를 사용하여 Java를 설치하는 것입니다.

https://stackoverflow.com/a/28635465

brew update
brew cask install java

간단하고 깨끗한 솔루션!. 매력처럼 일했다.
— Rahul Shukla

2
이것은 java와 javac를 모두 업데이트 한 유일한 솔루션입니다. 감사!
— ldanilek

매력처럼 일했습니다 :) 감사합니다
— Mohamed Saleh

이것은 Java7이 아닌 최신 버전의 Java를 설치합니다
— Ivo

13

기본 문제 : /usr/bin/javaOSX 자체에서 처음 제공하는 문제 ( /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java) JDK 설치 프로그램에서 다운로드 한 문제를 지적해야합니다. 아래 단계는 OSX 10.10.4 Yosemite에 대한 것입니다.

  • 시스템 환경 설정을 열고-> Java를 선택하십시오. Java 창이 열립니다.
  • 상단의 Java 탭을 클릭하십시오. '보기'버튼을 클릭하십시오.
  • 다음과 같이 Java Runtime Environment 설정 탭이 열립니다. JRE 설정 탭
  • Path항목을 두 번 클릭 하고 경로를 복사하십시오 (cmd + c). 이것은 JDK 설치 프로그램 / 업데이트가 설치 한 최신 버전입니다. 내 경우에는 경로는/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
  • 터미널을 엽니 다. 이 단계에서는 ln -s시스템 java 바이너리를 이전 단계에서 발견 한 최신 버전 으로 지정합니다 (기호 링크, 명령). 아래 명령을 실행하십시오.

sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java

그게 다야. 확인하려면 java -version 터미널에서 실행 하면됩니다. 설치 / 업데이트 한 최신 버전을 출력해야합니다.


2
ln 명령에 -f를 추가해야한다는 점을 제외하고는 저에게 효과적입니다. 그렇지 않으면 ln으로 실패한 경우 : / usr / bin / java : 파일이 존재 함
— Dale

내 경우에는 터미널 명령 usr/local/bin대신에 사용하고 싶습니다usr/bin
— iAkshay

"작업이 허용되지 않습니다"라는 메시지가 나타납니다.
— Shardul

이러한 방식으로 경로를 얻는 것이 이상적입니다. 그런 다음 버전을 내보내고 bashrc를 다시로드하여 버전 문제를 해결할 수있었습니다. 내 경우에는 내가 모하비 10.14.1에 8 버전 7에서 마이그레이션 한
— bitsand

12

터미널에서 다음 명령을 실행할 수 있습니다.

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

그리고 이것은 Java old를 새로운 것으로 대체합니다.


1
이상하게도 교체하지만 터미널을 닫았다가 다시 열면 이전 버전이 다시 표시됩니다.
— Parth Patel

맞습니다. 너무 지쳤다. 매우 일시적인 해결책
— 사용자 :

1
source ~/.bashrc이것을 .bashrc 파일에 추가 하여 영구적으로 만드십시오
— Azimjon Ilkhomov

10

내가 했어

export JAVA_HOME=`/usr/libexec/java_home`

Java 8 문제가 해결되었습니다.

전에:

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

후:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

1
는 /usr/libexec/java_home, 덕분에 아주 좋은 표시이다!
— Raffi

1
가능한 많은 해결책을 읽은 후 내 일을 했습니까! 감사합니다 :)
— ronnyrr 2016 년

7

http://www.java.com/en/download/faq/java_mac.xml 은 이해하기 좋은 곳이며, Apple은 Java에 대한 지원을 중단하고 왜 Java Preferences가 더 이상 존재하지 않고 System_Preferences => Java = > Oracle의 Java 7이 설치된 경우 Java.


2
이것은 좋은 정보이지만 링크보다 더 자세한 정보를 제공해야합니다. 나중에 링크가 끊어지면 답변이 그다지 유용하지 않을 것입니다.
— psubsee2003

7

Jenv 도구를 살펴 보시기 바랍니다.

그러면 설치된 JVM간에 언제든지 전환 할 수 있습니다.

간단히 :

jenv global oracle-1.7

나중에 테스트 목적으로 :

jenv global oracle-1.6

그리고 더 많은 명령을 사용할 수 있습니다.


이미 OS X 시스템에서 Homebrew를 사용하는 경우 Homebrew를 활용할 수 있으므로이 답변에 +1하십시오. 내가 말하는 다른 사람들보다 훨씬 깨끗합니다. 여기에 더 많은 정보가 있습니다 : jenv.be
— piku

6

JAVA_HOME 경로를 하드 코딩하는 것이 가장 좋은 방법은 아닙니다. 이 /usr/libexec/java_home유틸리티는 Mac OSX Lion 10.7.5 및 JDK 1.7.0_13에서 작동합니다. 매뉴얼 페이지에 따르면 Apple의 이전 Java 환경 설정 창과 함께 사용되지만 Oracle (Java Control Panel)에서 제공하는 대체 기능과 함께 작동하는 것으로 보입니다. 예를 들어 running /usr/libexec/java_home -V은 내 컴퓨터에 설치된 모든 JDK (1.6. * 및 1.7. *)를 나열합니다.

따라서 다른 스레드에서 논의 된 것처럼 (예 : OSX에서 JAVA_HOME을 무엇으로 설정해야합니까 ) 여전히 .bash_profile에 다음 줄을 추가하는 것이 좋습니다.

export JAVA_HOME=$(/usr/libexec/java_home)

최선의 방법이기 때문에 귀하의 의견에 동의 할 것입니다. 그러나 어떤 이유로 java_home 환경 변수가 올바르게 설정되지 않아 이것이 작동하지 않습니다. Apple의 최신 업데이트에서 터미널 및 기타 관련 응용 프로그램의 JAVA_HOME에 대한 기본 조치가 기본적으로 제안된다고 생각합니다.
— Derek

@Derek "java_home 환경 변수가 올바르게 설정되지 않았습니다"에 대해 정확히 무엇을 의미합니까? 에 따르면 이 문서/usr/libexec/java_home 유틸리티는 자바 7 개 버전으로도 작동하는 의미, 그리고 JDK가 설치되어 최신의 경로를 반환합니다. 내 컴퓨터에서 완벽하게 작동합니다.
— zagyi

1
그렇습니다.하지만 그것은 pepijin이 언급 한 문제가있는 사람들에게는 적합하지 않습니다.
— 데릭

6

이것은 견과류입니다! 오라클은 아무것도 설치하지 않는 설치 프로그램을 어떻게 제공합니까?

어쨌든 그것은 다음과 같습니다.

sudo rm /usr/bin/java
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java

여기서 1.8.0_31은 설치된 Java 버전입니다 ...


Apple은 왜 적절한 방법을 제공하지 않습니까?
— jwilleke

6

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


5

간단한 솔루션

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

대박. 이 솔루션으로 하루를 보냈습니다. 고마워 Mick
— 사용자 :

3

jre가 아닌 jdk를 설치하려고 할 수 있다고 생각합니다. jdk를 설치하면 / usr / bin / java의 java가 바뀌고 모든 라이브러리가 제대로 작동합니다.


3

Homebrew를 설치 한 경우 java-switcher 를 설치 하여 Java 기본 버전을 더 빠르게 변경할 수 있습니다.

brew tap andycillin/tap
brew install java-switcher

그런 다음 하나의 명령 만 사용하여 기본 Java 버전을 전환 할 수 있습니다.

java-switcher 1.7

또는

java-switcher 10

고마워 앤디, 이것은 쉬웠다.
— GreenROBO

1

이 명령을 실행하여 / Library / Internet Plugins / 아래에있는 Java 버전을 찾을 수 있습니다.

defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist CFBundleVersion

1

.bash_profile이 변경 사항을 반영하지 않기 때문에 발생합니다. 반영하려면 다음 명령을 사용하십시오.

$ source .bash_profile

0

이 문제에 직면하지 않았기 때문에 직감을 겪고 있습니다.

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

소프트 링크 "java_home"은 어디에 있습니까?

ls -lrt /usr/libexec/java_home

출력 : (준비된) lrwxr-xr-x java_home-> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home

** ls -lrt /System/Library/Frameworks/JavaVM.framework/Versions 내 MAC은 다음을 생성합니다.

 lrwxr-xr-x CurrentJDK ->
 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents**

 lrwxr-xr-x   Current -> A
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4.2 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4 -> CurrentJDK

이것을 바탕으로 더 진행할 힌트가 있을까요?


MAC-OSX의 Java 7 문제에 대한 인터넷 주석을 읽고 차단 된 것으로 표시하십시오. grep.dk/tag/xprotect-meta-plist를 참조하십시오 . XProtect.meta.plist에는 Java 7과 Flash가 나열되어 있습니다. 취약점 경찰을 재생하기
— 전까지

0

Yosemite를 다시 설치하고 터미널 (java -version) 및 (javac -version)에서 Java 버전을 교차 확인 하여이 문제를 해결했습니다. 지금 완벽하게 작동합니다. 버전 6이 여전히 존재하므로 java 7로 변경되지 않습니다 (command + n ) libray> java> javavirtualmachine> javac 현재 버전 .java 홈으로 주소 지정해야합니다.


0

이 문제를 해결했습니다. sudo rm /usr/bin/java

마지막 Java SE Runtime Environment를 다운로드하여 설치했습니다. http://www.oracle.com/technetwork/java/javase/downloads/index.html

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java내가있어 때문에 나를 위해 일하지 않았다 Operation not permitted. El Capitan은 이제 특정 시스템 디렉토리를 "루트리스"모드 (일명 시스템 무결성 보호)로 보호합니다. macOS Sierra 및 아마도 새로운 macOS 버전에도 적용 할 수 있습니다.


0

Oracle 사이트에서 분산 JDK DMG를 통해 설치하면 모든 것이 자동으로 업데이트됩니다. (El Capitan에서) System Preferences > Javado 업데이트를 통한 업데이트를 보았지만 명령 줄에는 반영되지 않았습니다. DMG를 통해 설치하면 작업이 수행됩니다.


0

설치된 JDK 버전을 확인하십시오.

$ ls  /Library/Java/JavaVirtualMachines/
jdk-11.0.2.jdk  jdk1.8.0_91.jdk

이제 ~/.bashrc내보내기 JAVA_HOME에서 버전을 지정하십시오.

if [ -e /usr/libexec/java_home ]; then
  export JAVA_HOME=$(/usr/libexec/java_home -v 11)
fi

bashrc 파일을 소스하면 Java 버전이 업데이트됩니다.

$ java -version
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

0

최신 100 % 효과적인 방법 :


bash에서 :

vim ~/.bash_profile

더하다

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
  • :wq 저장
  • cmd + q 강제 종료 bash
  • bash를 다시 열고 입력하십시오. java -version

그러나 실제로이 경로는 jdk가 아닌 jre를 가리 킵니다.

JDK의 경로를 가리 키려면 다음이 필요합니다.

  1. 단일 JRE 런타임이 아닌 JDK를 설치했는지 확인하십시오.
  2. 이전 경로를 대체 PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk", 당신은 갈 수 /Library/Java/JavaVirtualMachines있는지 당신은 당신이 예상 JDK의 버전을 설치 할 수 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.