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.