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에만 플래그를 지정하면 되기 때문에:
Mac OS X에서 Java Preferences 창을 쉽고 빠르게 열려면 +SPACE로 스포트라이트를 부르고 창의 마지막 행에 표시할 System Preferences를 입력하십시오.
나의 경우 오라클이 나와는 다른 위치에 설치하는 것이 문제였다.
Oracle에서 다운로드: http://java.com/en/download/mac_download.jsp?locale=en
시스템 Prefs에서 올바르게 설치되었는지 확인하십시오.
- Spotlight를 여는 Command-Space 'System Preferences'를 입력하고 Enter 키를 누르십시오.
- 맨 아래 행에서 Java 아이콘을 누르십시오.Java 제어판이 열린 후 'Java' 탭, 'View...'를 클릭하고 설치가 작동하는지 확인하십시오.거기서도 '길'을 볼 수 있는데, 내 명령과 다를 경우에 대비하여 아래의 명령어를 서브할 수 있다.
버전이 예상대로인지 확인하십시오(필요한 경우 경로에 있음).
/Library/Internet\ Plug-Ins/JavaAppletPlugin.플러그인/컨텐트/홈/빈/자바 -버전
/usr/bin/java에서 새 설치로 링크 만들기
sudon l -fs /Library/Internet\ Plug-Ins/JavaAppletPlugin.플러그인/내용/홈/빈/java /usr/bin/java
온전성 검사 버전:
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/java
symlink, 새로운 "루트리스" 정책의 도입으로 인해.
따라서 최신 자바 버전에 경로를 간단히 추가했다(나의 경우 이것은/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/java
OSX 자체에서 초기에 제공하는 것을 가리킨다(/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
JDK 설치자가 다운로드한 것을 가리켜야 한다.아래 단계는 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의 경로를 가리키려면
- 단일 JRE 런타임이 아닌 JDK를 설치했는지 확인하십시오.
- 이전 경로를 다음으로 바꾸다
PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk"
, 당신은 갈 수 있다./Library/Java/JavaVirtualMachines
원하는 JDK 버전을 설치했는지 확인하십시오.
'programing' 카테고리의 다른 글
C구조와 C++구조 (0) | 2022.04.23 |
---|---|
vue-properties가 중첩된 경로에 템플릿을 렌더링하지 않음 (0) | 2022.04.22 |
Vue.js에서 클릭 이벤트를 동적으로 삽입할 수 있는 방법이 있는가? (0) | 2022.04.22 |
Java 8 - 목록을 변환하는 가장 좋은 방법: 지도 또는 포어치? (0) | 2022.04.22 |
부에 있는 원소들.JS 전환 그룹이 이동 중에 제대로 애니메이션화되지 않음 (0) | 2022.04.22 |