programing

Mac OS X에 Java 7을 설치했지만 터미널이 버전 6을 사용하고 있음

prostudy 2022. 4. 22. 20:56
반응형

Mac OS X에 Java 7을 설치했지만 터미널이 버전 6을 사용하고 있음

나는 오라클 웹사이트에서 다운로드한 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)

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

앤스: 그래, 문제는 해결됐어.답은 다음과 같다.내 터미널에 .bash_profile이 있고 자바 홈 변수가 1.6으로 설정되어 있는 것을 발견했다.

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

그래서 이것이 내가 새로운 터미널 창을 열 때마다 문제를 일으키는 선이다.이 선을 간단히 제거하면 문제가 해결될 것이다.@aleroot가 말한 것을 여전히 따라야 하지만, 만약 그것이 당신에게 효과가 없다면, 당신이 이전에 Java 버전을 내보냈는지 확인하기 위해 .bash_profile (또는 .bashrc) 설정 파일을 확인하라.

내부에 를 ./Library/Internet Plug-Ins/JavaAppletPlugin.plugin. 그리고 덮어쓰지 않는다./usr/bin/java그래서 만약 당신이 a를 발행한다면

whereis java

터미널에서 /usr/bin/bin/bin/bin을 반환할 겁니다.(이것은 다시 가리키는 것이다./System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java는 애플의 1.6 버전이다.

, 자바버전을 /usr/bin/java symlinks 사/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

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

JRE(Java Runtime Environment)가 아닌 컴파일러 등이 포함된 JDK(Java Development Kit)를 꼭 받으십시오.

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를 Appel 자체 시스템 통합 Java 패키지에서 Oracle 기반 Java 패키지로 옮기는 데 많은 변화가 있었다.위의 솔루션은 Mac OS X 10.8.2와 같이 정상적으로 작동하고 있다.

Java Preferences(Java 기본 설정) 창에 입력하고 다음과 같은 방식으로 JVM 7에만 플래그를 지정하면 되기 때문에:

Java 환경설정

Mac OS X에서 Java Preferences 창을 쉽고 빠르게 열려면 +SPACE로 스포트라이트를 부르고 창의 마지막 행에 표시할 System Preferences를 입력하십시오.

나의 경우 오라클이 나와는 다른 위치에 설치하는 것이 문제였다.

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

  1. 시스템 Prefs에서 올바르게 설치되었는지 확인하십시오.

    • Spotlight를 여는 Command-Space 'System Preferences'를 입력하고 Enter 키를 누르십시오.
    • 맨 아래 행에서 Java 아이콘을 누르십시오.Java 제어판이 열린 후 'Java' 탭, 'View...'를 클릭하고 설치가 작동하는지 확인하십시오.거기서도 '길'을 볼 수 있는데, 내 명령과 다를 경우에 대비하여 아래의 명령어를 서브할 수 있다.
  2. 버전이 예상대로인지 확인하십시오(필요한 경우 경로에 있음).

    /Library/Internet\ Plug-Ins/JavaAppletPlugin.플러그인/컨텐트/홈/빈/자바 -버전

  3. /usr/bin/java에서 새 설치로 링크 만들기

    sudon l -fs /Library/Internet\ Plug-Ins/JavaAppletPlugin.플러그인/내용/홈/빈/java /usr/bin/java

  4. 온전성 검사 버전:

    java -version

나는 터미널이 Mac에 설치된 버전과 일치하도록 자바 버전을 업데이트하지 않는 것과 비슷한 문제에 부딪혔었다.

JAVA_에는 문제가 없었다.HOME 환경 변수 설정 중

나는 일시적이고 다소 고통스럽지만 효과가 있는 해결책을 생각해냈다.

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

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

(이 길이 내 기계에 있는 길인데 네 길이 다를 수도 있으니 꼭 네 길을 가도록 해.경로는 /Library/Java/JavaVirtualMachines/)까지 일치해야 한다.

결승점source ~/.bash_profile

내가 말했듯이, 이것은 자바 홈 경로가 하드 코딩되고 있기 때문에 일시적인 반창고 해결책이다.애플의 자바_홈 환경변수가 업데이트되지 않고 있는 것이 문제인 만큼 애플이 이미 단말기를 위해 하고 있는 것이기 때문에 최신 정보를 얻을 수 있는 경로를 설정할 방법이 정말 없다.

엘 카피탄 이후로는 삭제하기 어렵다./usr/bin/javasymlink, 새로운 "루트리스" 정책의 도입으로 인해.

따라서 최신 자바 버전에 경로를 간단히 추가했다(나의 경우 이것은/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껍질 속에

갱신하다

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

https://stackoverflow.com/a/28635465

이전 버전 내게 가장 쉽고 깨끗한 방법은 다음과 같이 홈브루를 사용하여 Java를 설치하는 것이다.

https://stackoverflow.com/a/28635465

brew update
brew cask install java

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

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

그리고 이것은 오래된 자바를 새로운 것으로 대체한다.

기고문:/usr/bin/javaOSX 자체에서 초기에 제공하는 것을 가리킨다(/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaJDK 설치자가 다운로드한 것을 가리켜야 한다.아래 단계는 OSX 10.10.4 Yosemite에 대한 것이다.

  • 시스템 환경설정 열기 -> Java를 선택하십시오.자바 창이 열린다.
  • 맨 위에 있는 Java 탭을 클릭하십시오.'보기' 버튼을 클릭하십시오.
  • Java Runtime Environment Settings 탭은 다음과 같이 열린다.
  • 번 클 을 더블 Path항목 및 경로 복사(cmd+c).이것은 JDK 설치자/업데이트가 설치한 최신 제품이다.나의 경우, 그 길은 멀었다./Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
  • 개방단말기.이 단계에서, 우리는 (심볼릭 링크)를 가리킨다.ln -s .다음 명령을 실행하십시오.

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

바로 그거야.확인하려면 실행만 하면 된다.java -version설치/업데이트된 최신 버전을 출력해야 한다.

했다

export JAVA_HOME=`/usr/libexec/java_home`

그리고 그것이 내 자바 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)

http://www.java.com/en/download/faq/java_mac.xml은 애플이 자바에 대한 지원을 중단하는 동안, 왜 자바 기본 설정이 더 이상 존재하지 않는지, 오라클의 자바 7이 설치되면 System_Preferences => Java => Java에 의존한다.

Jenv의 도구를 살펴보시지요.

이렇게 하면 설치된 JVM 간에 언제든지 전환할 수 있다.

간단히 다음과 같다.

jenv global oracle-1.7

나중에 테스트 목적으로 다음을 수행하십시오.

jenv global oracle-1.6

그리고 당신은 훨씬 더 많은 명령을 사용할 수 있다.

JAVA haughp 가 최선의 HOME 경로는 좋은 생각이 아닐 수도 있다./usr/libexec/java_home유틸리티 실은 Mac OSX Lion 10.7.5와 JDK 1.7.0_13에서 나에게 효과가 있다.맨페이지에 따르면 애플의 옛 자바 기본 설정 창과 함께 사용하도록 돼 있지만 오라클(자바 제어판)이 제공하는 대체품으로 작동하고 있는 것으로 보인다.예를 들어 실행 중/usr/libexec/java_home -V컴퓨터에 설치된 모든 JDK(1.6.*와 1.7.* 모두)를 나열하십시오.

따라서, 다른 스레드(예: JAVA_)에서 논의한 바와 같이, JAVA_를 어떻게 설정해야 하는가?OSX), 다음 줄을 .bash_profile에 추가하는 것이 좋다.

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

이건 미친 짓이야!Oracle은 어떻게 아무것도 설치하지 않는 설치 프로그램을 제공하는가?

어쨋든 나에게는 다음과 같았다.

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 버전...

시스템에 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

나의 경우 사용하고자 한다면 다음과 같아야 한다.

Java 7:

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

Java 8:

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

파일을 저장한 후 실행하십시오. source /etc/profile잘 될 거야이에 따라 첫 번째 옵션과 두 번째 옵션을 사용할 때의 결과는 다음과 같다.

Java 7:

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

Java 8:

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

Java 폴더가 다른 위치에 있는 경우에도 프로세스는 유사하다.

심플 솔루션

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

나는 네가 jre가 아닌 jdk를 설치하려고 시도할 수 있다고 생각한다.jdk를 설치함으로써 /usr/bin/java에 있는 java를 교체하고, 모든 도서관이 정상 작동하게 된다.

홈브루가 설치되어 있는 경우, Java-스위치를 설치하여 Java 기본 버전을 보다 빠르게 변경할 수 있다.

brew tap andycillin/tap
brew install java-switcher

그런 다음 하나의 명령어를 사용하여 기본 Java 버전을 전환하십시오.

java-switcher 1.7

또는

java-switcher 10

이 명령을 실행하여 /Library/Internet Plugins/:

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

그것은 당신의 .bash_profile이 변화를 반영하지 않기 때문에 일어나고 있다.반영하려면 다음 명령만 사용하십시오.

$ source .bash_profile

내가 이 문제에 직면하지 않았기 때문에, 나는 직감을 가지고 있다.

다음을 시도해 보십시오.

소프트 링크 "java_home"은 다음을 가리키는 경우:

ls -lrt /usr/libexec/java_home

출력 : (Stunted) lrwxr-xr-x java_home -> /System/Library/Frameworks/JavaVM.Framework/Version/Current/Commands/java_home

**ls -lrt /System/Library/Frameworks/JavaVM.framework/Versions My 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

이것에 기초하여, 우리는 더 진행하기 위한 힌트를 얻을 수 있는가?

나는 요세미티를 다시 설치한 다음 터미널(java -version) 및 (javac -version)에 자바 버전을 교차 확인하여 이 문제를 해결했다.이제 완벽하게 작동한다.버전 6은 (명령 + n) libay >java >jav가상화 기계 > 당신의 자바 현재 버전에 여전히 존재하기 때문에 자바 7로 변경되지 않는다.당신은 Java home에 주소를 쓸 필요가 있다.

나는 이 문제를 해결했다.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 k El Capitan은 이제 "루트리스" 모드(a.k.a)에서 특정 시스템 디렉토리를 보호한다.시스템 무결성 보호).그것은 macOS 시에라, 그리고 아마도 가까운 미래에 새로운 macOS 버전에 적용할 수 있을 것이다.

Oracle 사이트에서 분산 JDK DMG를 통해 설치하면 모든 것이 자동으로 업데이트된다.나는 (엘 카피탄에서) 업데이트하는 것을 보았다.System Preferences > Java업데이트를 수행하지만 명령줄에 반영되지 않는 업데이트DMG를 통한 설치가 그 역할을 한다.

설치된 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)

최신 100% 유효 방법:


bashroo:

vim ~/.bash_profile

덧셈을

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
  • :wq보호하기 위해
  • cmd+q 강제 종료
  • 다시 bash를 열고 타이핑하다.java -version

그러나 실제로 이 길은 jdk가 아닌 jre를 가리킨다.

JDK의 경로를 가리키려면

  1. 단일 JRE 런타임이 아닌 JDK를 설치했는지 확인하십시오.
  2. 이전 경로를 다음으로 바꾸다PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk", 당신은 갈 수 있다./Library/Java/JavaVirtualMachines원하는 JDK 버전을 설치했는지 확인하십시오.

참조URL: https://stackoverflow.com/questions/12757558/installed-java-7-on-mac-os-x-but-terminal-is-still-using-version-6

반응형