Mac OS X 및 여러 Java 버전
MacOS에 추가 Java를 설치하려면 어떻게해야합니까? jdk8을 설치했는데 정상적으로 작동합니다. 그러나 이제 개발 목적으로 jdk7 설치가 필요합니다. DMG 파일을 통해 이전 버전을 설치하려고 할 때 이미 최신 버전의 Java가 설치되어 있고 설치 프로그램이 종료된다는 경고가 표시됩니다.
/usr/libexec/java_home -verbose
Matching Java Virtual Machines (1):
1.8.0_20, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
이 외에도 jdk7을 설치하는 방법은 무엇입니까?
감사합니다
Dakky
Mac에서 여러 Java 버전을 관리하는 가장 깨끗한 방법은을 사용하는 것 Homebrew
입니다.
내 Homebrew
에서 다음을 사용하십시오.
homebrew-cask
자바 버전을 설치하려면jenv
설치된 Java 버전을 관리합니다.
http://hanxue-it.blogspot.ch/2014/05/installing-java-8-managing-multiple.html 에서 볼 수 있듯이 다음 단계를 따르십시오.
- 사제 설치
- 사제 jenv 설치
- 사제 통을 설치하십시오
- cask를 사용하여 특정 Java 버전을 설치하십시오 (아래 "homebrew-cask 버전"단락 참조)
- jenv에서이 버전을 추가하여 관리하십시오.
- jenv가 버전을 올바르게 관리하고 있는지 확인하십시오.
- 필요한 각 버전의 Java에 대해 4-6 단계를 반복하십시오.
사제 통 버전
다음을 사용하여 homebrew/cask-versions
탭을 homebrew에 추가하십시오 .
brew tap homebrew/cask-versions
그런 다음 사용 가능한 모든 버전을 볼 수 있습니다.
brew search java
그런 다음 원하는 버전을 설치할 수 있습니다.
brew cask install java7
brew cask install java6
그리고 평소처럼 jenv가 관리하도록 추가하십시오.
jenv add <javaVersionPathHere>
나는 이것이 가장 깨끗하고 간단한 방법이라고 생각합니다.
Mac OS X 10.6.7 Java Path Current JDK 에서 언급했듯이 주목해야 할 또 다른 중요한 사항은 다음과 같습니다.
다른 유형의 JDK 또는 설치의 경우 다른 경로가 있습니다.
를 사용하여 설치된 버전의 경로를 확인할 수 있습니다 . Mac에 Java JDK가 설치되어 있는지 확인하려면 어떻게합니까?를
/usr/libexec/java_home -V
참조하십시오 .Mac OS X Mavericks에서 다음과 같이 나타났습니다.
1) 내장 JRE 기본값 :
/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
2) Apple에서 다운로드 한 JDK :
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/
3) Oracle에서 다운로드 한 JDK :
/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
자원
- Mac에서 Java 8 JDK 제거
- http://hanxue-it.blogspot.ch/2014/05/installing-java-8-managing-multiple.html
- http://sourabhbajaj.com/mac-setup/index.html
- http://brew.sh
- https://github.com/Homebrew/homebrew/tree/master/share/doc/homebrew#readme
- http://sourabhbajaj.com/mac-setup/Homebrew/README.html
- "brew tap"설명 https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/brew-tap.md
- “brew 버전”은 Homebrew가 특정 버전의 수식을 설치 했다고 설명했습니까? 또한 https://github.com/Homebrew/homebrew-versions
- https://github.com/caskroom/homebrew-cask
- "brew 버전"과 유사한 "cask 버전"은 https://github.com/caskroom/homebrew-versions 및 https://github.com/caskroom/homebrew-cask/issues/9447을 참조하십시오.
- http://www.jenv.be
- https://github.com/gcuisinier/jenv
jdk8을 설치 제거하고 jdk7을 설치 한 다음 jdk8을 다시 설치하십시오.
그들 사이의 전환에 대한 나의 접근법 (. 프로필에서) :
export JAVA_7_HOME=$(/usr/libexec/java_home -v1.7)
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
alias java7='export JAVA_HOME=$JAVA_7_HOME'
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
#default java8
export JAVA_HOME=$JAVA_8_HOME
그런 다음 간단히 입력 java7
하거나 java8
터미널에 버전을 전환 할 수 있습니다 .
(편집 : Java 9의 Dylans 개선 사항을 추가하도록 업데이트 됨)
macOS Sierra 420의 경우
이 안내서는 다양한 출처 (위의 게시물 및 다른 게시물)에서 함께 제공되었으며 완벽하게 작동합니다.
0. 아직 없으면 homebrew를 설치하십시오.
1. jenv 설치
brew install jenv
2. bash 프로파일에 jenv를 추가하십시오.
if which jenv > /dev/null; then eval "$(jenv init -)"; fi
3. 경로에 jenv 추가
export PATH="$HOME/.jenv/shims:$PATH"
4. "화장실 / 버전"을 누릅니다.
참고 : "Tap"은 추출 가능한 기본 리포지토리의 목록을 넘어 브루어의 기본 리포지토리 목록을 확장합니다.
brew tap caskroom/versions
5. 최신 버전의 Java 설치
brew cask install java
6. Java 6 (또는 필요한 경우 7 또는 8)을 설치하십시오.
brew cask install java6
#brew cask install java7
#brew cask install java8
? 어쩌면 터미널을 닫았다가 다시 시작하여 설정 된 새로운 ENV 변수를 볼 수 있습니다.
7. 설치 검토
모든 Java 버전이 여기에 설치됩니다. /Library/Java/JavaVirtualMachines
살펴 보겠습니다.
ls -la /Library/Java/JavaVirtualMachines
8. jenv에 각 경로를 한 번에 하나씩 추가하십시오.
버전 폴더에 "/ Contents / Home"을 추가해야합니다. 경고 : 실제 경로는 컴퓨터에 ... 이건 그냥있는 예 '들
jenv add /Library/Java/JavaVirtualMachines/1.6.0___EXAMPLE___/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk___EXAMPLE___/Contents/Home
9. jenv 등록 확인
jenv versions
10. 자바 버전을 사용하도록 설정 (글로벌)
여기서 XX는 위의 버전 목록에있는 항목 중 하나와 일치합니다.
jenv global XX
자바 버전 확인
java -version
jenv 버전 확인
별표와 함께 사용중인 현재 버전을 나타내야합니다.
jenv versions
끝난
빠른 미래 참조
Java 버전을 변경하려면
... 사용 가능한 Java 버전 목록을 참조하십시오.
jenv versions
... 그런 다음 XX는 위 목록의 항목과 일치합니다.
jenv global XX
SDKMAN! Mac OS에서 여러 버전의 Java, Gradle, Groovy, Kotlin 및 기타 JVM 도구를 사용하기위한 훌륭한 도구입니다. 설치 및 사용 설명서는 기본 사이트에 있습니다.
(나는 제휴가 없으며 행복한 사용자 일뿐입니다).
사용법 예를 들어, 터미널 창에 다음을 입력하면 사용 가능한 Java SDK 버전 목록이 있습니다 (간결하게 편집).
$ sdk list java
Available Java Versions
+ 9ea170
> + 8u131
7u141-zulu
여기 +
에 버전이 설치되었음을 나타냅니다. >
현재 사용중인 버전을 나타냅니다. 버전을 설치하려면
$ sdk install java 7u141-zulu
이 터미널 창에서 버전을 사용하려면
$ sdk use java 9ea170
이 웹 사이트 에 나와있는 것처럼 jEnv를 설치하여 시작하겠습니다.
이것을 터미널에서 실행하십시오.
brew install https://raw.github.com/gcuisinier/jenv/homebrew/jenv.rb
bash 프로파일에 jEnv 추가
if which jenv > /dev/null; then eval "$(jenv init -)"; fi
jEnv를 처음 설치할 때 연관된 JDK가 없습니다.
예를 들어, 방금 JDK 8을 설치했지만 jEnv는 이에 대해 알지 못합니다. jEnv에서 Java 버전을 확인하려면
현재 시스템에서 Java 버전 (jre) 만 발견했습니다.
*
쇼 버전은 현재 선택. rvm 및 rbenv와 달리 jEnv는 JDK를 설치할 수 없습니다. Oracle 웹 사이트에서 JDK를 수동으로 설치해야합니다.Apple 웹 사이트에서 JDK 6을 설치하십시오. 에 Java가 설치됩니다
/System/Library/Java/JavaVirtualMachines/
. Apple 웹 사이트에서 Java 6을 설치하는 이유는 SUN이 MAC 용 JDK 6을 제공하지 않았기 때문에 Apple이 자체 배포 버전을 작성 / 수정했기 때문입니다.마찬가지로 JDK7 및 JDK8을 설치하십시오.
jEnv에 JDK를 추가하십시오.
JDK 6 :
jenv를 사용하여 설치된 Java 버전 확인
이제 시스템에 3 가지 버전의 Java가 있습니다. 기본 버전을 설정하려면 다음 명령을 사용하십시오
jenv local <jenv version>
Ex – Jdk 1.6이 IntelliJ를 시작하기를 원했습니다
jenv local oracle64-1.6.0.65
자바 버전을 확인하십시오
그게 다야. 이제 여러 버전의 Java가 있으므로 쉽게 전환 할 수 있습니다. jEnv에는 Gradle, Ant, Maven 등의 래퍼 및 JVM 옵션을 전역 또는 로컬로 설정하는 기능과 같은 다른 기능도 있습니다. 자세한 내용은 설명서를 확인하십시오.
최근에 Jabba 라는 Java 버전 관리자를 발견 했으며 사용법은 rvm (ruby), nvm (node), pyenv (python) 등과 같은 다른 언어의 버전 관리자와 매우 유사합니다. 또한 크로스 플랫폼이므로 확실히 사용할 수 있습니다. 맥.
설치 후 ~ / .jabba에 디렉토리를 작성하여 설치 한 모든 Java 버전을 넣습니다. "Oracle JDK (기본값) / 서버 JRE, Zulu OpenJDK (0.3.0 이후), IBM SDK, Java Technology Edition (0.6.0 이후) 및 사용자 정의 URL 설치를 지원합니다."
기본 사용법은 Github에 나와 있습니다. 빠른 요약 시작 :
curl -sL https://github.com/shyiko/jabba/raw/master/install.sh | bash && . ~/.jabba/jabba.sh
# install Oracle JDK
jabba install 1.8 # "jabba use 1.8" will be called automatically
jabba install 1.7 # "jabba use 1.7" will be called automatically
# list all installed JDK's
jabba ls
# switch to a different version of JDK
jabba use 1.8
Mac OS X 10.9.5를 사용하고 있습니다. 이것은 응용 프로그램 A를 실행하고 응용 프로그램 B에 다른 버전을 사용하기 위해 하나의 버전이 필요할 때 내 컴퓨터에서 여러 JDK / JRE를 관리하는 방법입니다.
온라인에서 도움을 얻은 후 다음 스크립트를 작성했습니다.
#!bin/sh
function setjdk() {
if [ $# -ne 0 ]; then
removeFromPath '/Library/Java/JavaVirtualMachines/'
if [ -n "${JAVA_HOME+x}" ]; then
removeFromPath $JAVA_HOME
fi
export JAVA_HOME=/Library/Java/JavaVirtualMachines/$1/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
fi
}
function removeFromPath() {
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
#setjdk jdk1.8.0_60.jdk
setjdk jdk1.7.0_15.jdk
위의 스크립트를 .profile 파일에 넣었습니다. 터미널을 열고 vi .profile을 입력하고 위의 스 니펫이있는 스크립트를 추가 한 후 저장하십시오. 출력 유형을 입력 source .profile
하면 터미널을 다시 시작하지 않고도 프로필 스크립트가 실행됩니다. 이제 java -version
1.7을 현재 버전으로 표시해야합니다. 1.8로 변경하려면 해당 줄 setjdk jdk1.7.0_15.jdk
을 주석 처리하고 주석 처리를 제거하십시오 setjdk jdk1.8.0_60.jdk
. 스크립트를 저장하고 source 명령으로 다시 실행하십시오. 이 메커니즘을 사용하여 다른 Java 버전이 필요한 2 개의 다른 Maven 프로젝트를 컴파일해야 할 때 여러 버전의 JDK / JRE를 관리합니다.
Mac Sierra의 Jenv :
설치 후 작동하지 않으면이 버그 수정을 수행하여 Java 실행 파일을 경로에 추가하십시오.
export PATH="$HOME/.jenv/shims:$PATH"
eval "$(jenv init -)"
이 일을 할 수 있지만 . 그 이유는 홈페이지에 설명 된대로 / bin 폴더가 더 이상 존재하지 않지만 대신 shim 폴더가 / bin으로 사용되기 때문입니다.
- ~ / .jenv가 있는지 확인하십시오
which java
/ Library / ...를 인쇄 할 수 있습니다- jenv 글로벌 1.8
- jenv 쉘 1.8
결국 다음을 which java
제공합니다.
/Users/xxxx/.jenv/shims/java
bash에 대한 DRY 버전이 더 있습니다 (Vagard의 답변을 기반으로 함)
1.7과 1.8을 원하는 버전으로 바꾸면 'javaX'라는 별칭이 나타납니다. 여기서 'X'는 쉽게 버전을 전환 할 수있는 Java 버전 (아래 스 니펫의 7/8)입니다.
for version in 1.7 1.8; do
v="${version: -1}"
h=JAVA_"$v"_HOME
export "$h"=$(/usr/libexec/java_home -v $version)
alias "java$v"="export JAVA_HOME=\$$h"
done
참고 URL : https://stackoverflow.com/questions/26252591/mac-os-x-and-multiple-java-versions
'Programing' 카테고리의 다른 글
NSUserDefaults 지우기 (0) | 2020.03.22 |
---|---|
파이썬에서 목록의 목록에 가입 (0) | 2020.03.22 |
새 콘센트 연결을 삽입 할 수 없습니다 : 이름이 지정된 클래스에 대한 정보를 찾을 수 없습니다 (0) | 2020.03.22 |
UITableview : 일부 행에 대해서는 선택을 비활성화하지만 다른 행에는 선택하지 않는 방법 (0) | 2020.03.22 |
iPhone 탐색 막대 제목 텍스트 색상 (0) | 2020.03.22 |