MacOS에서 기본 Java(JDK) 버전을 설정하거나 변경하는 방법은 무엇입니까?
Mac에서 Java의 기본 버전을 변경하려면 어떻게 해야 합니까?
번째 실행 ★★★★★★★★★★★★★★★★★★」/usr/libexec/java_home -V
하다
Matching Java Virtual Machines (3):
1.8.0_05, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
1.6.0_65-b14-462, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
합니다( 「 」 「 」 「 」 「 」 。1.6.0_65-b14-462
( (논쟁을 위해)
export JAVA_HOME=`/usr/libexec/java_home -v 1.6.0_65-b14-462`
또는 다음과 같이 메이저버전만 지정할 수 있습니다.
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
시점에서, 「 」를 해 .java -version
뭇매를 맞다
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
, 그럼 여기에다가 더해져요.export JAVA_HOME…
초기화하다
Bash의 경우(Antonyh가 밝힌 바와 같이):
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
물고기의 경우(ormurin에 의해 명시됨)
set -x JAVA_HOME (/usr/libexec/java_home -d64 -v1.8)
.zshrc 파일을 업데이트하면 다음과 같이 됩니다.
nano ~/.zshrc
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0)
CTRL+X를 눌러 편집기를 종료하고 Y를 눌러 변경 내용을 저장합니다.
source ~/.zshrc
echo $JAVA_HOME
java -version
이 답변은 여러 버전의 JDK가 macOS El Capitan 이상(Sierra, High Sierra, Mojave)에 개발 목적으로 설치되어 있는 경우 시스템 전체(현재 실행 중인 셸뿐 아니라)에서 Java 버전을 제어하는 방법을 설명합니다.제가 알기로는 현재 답변 중 그런 답변은 없습니다(*).
개발자로서 여러 JDK를 사용하고 있기 때문에, 간단하게 전환하고 싶습니다.보통 최신 안정형 일반용과 테스트용 제품을 가지고 있습니다.다만, 현재 사용하고 있는 최신의 「얼리 액세스」버전은 사용하고 싶지 않습니다(IDE 를 기동할 때 등).시스템의 디폴트를 제어하고 싶습니다만, 최신의 안정성이 필요합니다.
다음 접근법은 적어도 Java 7에서 12(이 문서 작성 시점에서의 초기 액세스), Oracle JDK 또는 OpenJDK(Adapt Open에 의한 빌드 포함)에서 작동합니다.JDK는 2018년 10월 중순 이후에 생산되었습니다.)
서드파티 툴을 사용하지 않는 솔루션:
- 「JDK」에 둡니다.
/Library/Java/JavaVirtualMachines
디폴트로는 가장 높은 버전이 선택됩니다. - 기본적으로는 JDK를 선택하지 않으려면 이름을 로 변경합니다.이 JDK는 다음 경우에도 사용할 수 있습니다.
$JAVA_HOME
를 가리키거나 스크립트 또는 설정에서 명시적으로 참조합니다.은 단순히 이다.java
명령어를 입력합니다.
는 "JDK"가 중 의 JDK를 합니다.Info.plist
filename을 클릭합니다.
JDK를 기존 JDK') 합니다.jenv
, " " " " " " " / " " " "/usr/libexec/java_home
참조)
(*) 현재 답변은 구식(MacOS El Capitan 또는 Sierra에서는 더 이상 유효하지 않음)이거나 단일 JDK에만 대응하거나 시스템 전체에 대응하지 않습니다.이 어떻게 수 있는지 하고 있습니다.$JAVA_HOME
다만, 이것은 현재 셸과 거기에서 기동하는 셸에만 영향을 줍니다.OS 런처로부터 기동하는 애플리케이션에는 영향을 주지 않습니다(올바른 파일을 변경하고 로그아웃/로그인을 하지 않는 한 번거롭습니다).젠브도 마찬가지입니다.하지만 제가 알기로는 환경변수만 바뀌기 때문에 같은 제한이 있습니다.
답변에 , 저는 제 '아까운 마음', '아까운 마음이다'에과 같은 ..bash_profile
(오류).zshrc
MacOS 10.15+)의 경우 Java 9의 @elektromin의 경우입니다.
alias j12="export JAVA_HOME=`/usr/libexec/java_home -v 12`; java -version"
alias j11="export JAVA_HOME=`/usr/libexec/java_home -v 11`; java -version"
alias j10="export JAVA_HOME=`/usr/libexec/java_home -v 10`; java -version"
alias j9="export JAVA_HOME=`/usr/libexec/java_home -v 9`; java -version"
alias j8="export JAVA_HOME=`/usr/libexec/java_home -v 1.8`; java -version"
alias j7="export JAVA_HOME=`/usr/libexec/java_home -v 1.7`; java -version"
후 " " " 를 실행합니다.$ source .bash_profile
다음을 입력하여 Java 8로 전환할 수 있습니다.
$ j8
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
/usr/libexec/java_home을 기반으로 한 작은 물고기 함수
function jhome
set JAVA_HOME (/usr/libexec/java_home $argv)
echo "JAVA_HOME:" $JAVA_HOME
echo "java -version:"
java -version
end
생선을 사용하지 않으면 bash에서도 비슷한 작업을 할 수 있습니다.
#!/bin/bash
jhome () {
export JAVA_HOME=`/usr/libexec/java_home $@`
echo "JAVA_HOME:" $JAVA_HOME
echo "java -version:"
java -version
}
그런 다음 javas do를 전환하려면:
$> jhome #switches to latest java
$> jhome -v 1.7 #switches to java 1.7
$> jhome -v 1.6 #switches to java 1.6
참조: https://gist.github.com/kenglxn/1843d552dff4d4233271
젠브를 사용하는 것은 쉬운 방법입니다.
jenv를 설치합니다.시작을 참조하십시오.
설정 jenv
cd ~/.jenv/candidates/ mkdir java cd java mkdir 1.7 mkdir 1.8
jdk 경로 심볼링크
ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin ~/.jenv/candidates/java/1.7 ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin ~/.jenv/candidates/java/1.8
모두 처리가 되었습니다.
switch 명령어:
jenv use java 1.8
디폴트 설정:
jenv default java 1.7
조금 까다롭지만 OS X 10.9(Mavericks)에 Java를 설치하는 방법에 대해 설명합니다.기본적으로, 당신은 당신의 가명을java
.
단계별:
1후 JDK 1.7을 해야 .sudo ln -snf
를 current "로 java
이렇게 하려면 터미널을 열고 다음 명령을 발행합니다.
sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents \
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
「」가 것에 해 주세요.jdk1.7.0_51.jdk
SDK를 사용합니다.
그럼 이번에는 을 설정해 .JAVA_HOME
jdk_1.7.0_xx.jdk
을 사용하다터미널을 다시 열고 다음을 입력합니다.
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home"
해서 '어울리지 않다'를 수 요.export JAVA_HOME
에 서다.bashrc
java를 in your Terminal()하는
JRE뿐만 아니라 JDK 설치
/usr/libexec/java_home -v 1.8
주다
/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
다음 분.
touch .bash_profile
open -a TextEdit.app .bash_profile
TextEdit에서는 빈 페이지가 표시되며, 이 페이지를 입력할 수 있습니다.
: "Doc" :export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
터미널:
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
다음 명령을 실행합니다.
javac -version
출력해야 합니다.
javac 1.8.0_111
dr;dr
행을 추가합니다.
export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home'
파일까지
~/.bash_profile
(jdk1.8.0_downloads.jdk를 다운로드 버전으로 바꿉니다.)
source ~/.bash_profile
업데이트...
0.1.macOS Montrey는 v12.0.1 Cask를 Brew로 합니다에서는 4단계만 하면 .$ brew install ...
★★★★★★★★★★★★★★★★★」$ brew install --cask ...
$ brew cask install ...
@Shivam Sahil 댓글 덕분입니다.
MacOS Big Sur v11.4에 대한 경험을 공유하겠습니다. 이러한 문제를 해결하는 가장 좋은 방법은 Homebrew를 사용하여 Java를 설치하는 것입니다.
1 - Homebrew를 설치합니다.
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2 - Homebrew Cask를 설치합니다.
$ brew tap homebrew/cask-versions
$ brew update
$ brew tap homebrew/cask
3 - 최신 버전의 Java 설치
$ brew cask install java
4 - 필요한 다른 버전의 Java(Java8, Java11, Java13)를 설치합니다.
$ brew tap adoptopenjdk/openjdk
$ brew cask install adoptopenjdk8
$ brew cask install adoptopenjdk11
$ brew cask install adoptopenjdk13
$ brew cask install adoptopenjdk14
5 - 다른 버전의 Java 간에 전환
Java를 에 추가하면 됩니다..bash_profile
★★★★★★★★★★★★★★★★★」.zshrc
.
이 경우 Java8, Java11, Java13 및 Java14를 전환할 수 있어야 합니다.
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
export JAVA_13_HOME=$(/usr/libexec/java_home -v13)
export JAVA_14_HOME=$(/usr/libexec/java_home -v14)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
alias java13='export JAVA_HOME=$JAVA_13_HOME'
alias java14='export JAVA_HOME=$JAVA_14_HOME'
# default to Java 14
java14
- 새로고침 6 - 새로고침.bash_profile
★★★★★★★★★★★★★★★★★」.zshrc
에일리어스를 유효하게 하려면 , 다음의 순서를 실행합니다.
$ source ~/.bash_profile
또는
$ source ~/.zshrc
7 - 마지막으로 에일리어스를 사용하여 다른 Java 버전 간에 전환할 수 있습니다.
$ java8
$ java -version
java version "1.8.0_261"
상세한 것에 대하여는, 다음의 투고를 참조해 주세요.Brew를 사용하여 Mac에 Java를 설치하는 방법
jenv를 사용하면 Java 환경 매니저와 비슷합니다.사용 및 청소가 매우 간편합니다.
Mac 의 경우는, 다음의 순서에 따릅니다.
brew install jenv
git clone https://github.com/gcuisinier/jenv.git ~/.jenv
설치:bash 를 사용하고 있는 경우는, 다음의 순서에 따릅니다.
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
원하는 버전의 JVM을 jenv에 추가합니다.
jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
jenv add /System/Library/Java/JavaVirtualMachines/1.8.0.jdk/Contents/Home
설치되어 있는 버전을 확인합니다.
jenv versions
사용할 Java 버전을 설정합니다.
jenv global oracle64-1.6.0
기본 프로세스를 사용하는 사용자를 위한 단말기를 사용하는 4가지 간단한 단계.:)
echo $JAVA_HOME
자바어 ::/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/
cd /Library/Java/JavaVirtualMachines/
설치하는 수 )로 합니다.ls
사용 폴더를 번호가 ).jdk1.8.0_191.jdk openjdk-11.0.2.jdk
)export JAVA_HOME='/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home'
Java ★★★★★★★★★★★★★★★★★★★★★★」
macOS El Capitan 이후는 다음 사이트에서 사용할 수 있는 상위 버전의 JDK를 선택합니다./Library/Java/JavaVirtualMachines
, 을 「Da's Empled」, 「Do's Empledge」로 해 주세요.Info.plist
것, 다른 것)Info.plist.disabled
OS の os os os os os os os 。
function setjdk() {
if [ $# -ne 0 ]; then
removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
if [ -n "${JAVA_HOME+x}" ]; then
removeFromPath $JAVA_HOME
fi
export JAVA_HOME=`/usr/libexec/java_home -v $@`
export PATH=$JAVA_HOME/bin:$PATH
fi
}
, 합니다.프로파일에 넣어 단말기에서 사용합니다.setjdk 1.8
,setjdk 1.7
,setjdk 9
★★★★★★★★★★★…
★★★가removeFromPath
이렇게 됩니다.
function removeFromPath() { export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;") }
.bash_profile에 추가하여 버전을 기본값으로 설정할 수 있습니다.
//Open bash profile
open ~/.bash_profile
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
// run bash profile
source ~/.bash_profile
단말기의 각 탭 및 특정 탭에 대해 JDK를 변경하는 경우에만 다음 방법을 고려하십시오(예:iTerm
를 참조해 주세요.
★★★★★★★★★★★★★★★★★에/Library/Java/JavaVirtualMachines
두 경로 지정
openjdk8u275-b01
openjdk-11.0.9.1+1
★★★★★★★★★★★★★★★★★★★★★★★★에.bash_profile
다음 파일을 제출합니다.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-11.0.9.1+1/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
[ ] 를 Iterm
- 첫 번째 탭 A를 사용하여 다음 명령을 실행합니다.
javac -version
javac 11.0.9.1
java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9.1+1)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode)
출력은 올바르고 예상대로입니다.
그러나 두 번째 탭 B를 열고 기본 JDK를 덮어쓸 필요가 있는 경우 터미널에 다음과 같이 입력합니다.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk8u275-b01/Contents/Home/
export PATH=$JAVA_HOME/bin:$PATH
그리고나서
javac -version
javac 1.8.0_275
java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.275-b01, mixed mode)
잘 되고 있어요.물론 탭 B가 닫혀 있거나 새 탭 C를 여는 경우 모두 다음 항목에 따라 작동합니다..bash_profile
설정 )
를 덧붙이다~/.zshenv
파일
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
- .zshrc(또는 bash_profile)에 다음 코드 행을 추가합니다.
j=' JAVA_company j='f'(){ JAVA_Company HOMEcompany=
/usr/libexec/java_home -v $1
};f'
- 세션에 저장:
$ 소스 .zshrc
- 명령 실행(예: j 13, j14, j1.8...)
$ j 1.8달러
설명 이것은 파라미터화 되어 있기 때문에, 투고된 다른 솔루션과 같이 스크립트를 갱신할 필요가 없습니다.JVM이 설치되어 있지 않으면 메시지가 표시됩니다.다음 예:
/Users/user/IDE/project $ j 1.8
/Users/user/IDE/project $ java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_265-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.265-b01, mixed mode)
/Users/user/IDE/project $ j 13
/Users/user/IDE/project $ java -version
openjdk version "13.0.2" 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8)
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)
/Users/user/IDE/project $ j 1.7
Unable to find any JVMs matching version "1.7".
Apple의 공식 java_home(1) man 페이지에서 다음을 수행합니다.
**USAGE**
/usr/libexec/java_home helps users set a $JAVA_HOME in their login rc files, or provides a way for
command-line Java tools to use the most appropriate JVM which can satisfy a minimum version or archi-
tecture requirement. The --exec argument can invoke tools in the selected $JAVA_HOME/bin directory,
which is useful for starting Java command-line tools from launchd plists without hardcoding the full
path to the Java command-line tool.
Usage for bash-style shells:
$ export JAVA_HOME=`/usr/libexec/java_home`
Usage for csh-style shells:
% setenv JAVA_HOME `/usr/libexec/java_home`
JDK 스위치 스크립트
위의 @Alex의 답변을 수정하여 Java 9의 코드를 수정하였습니다.
$ cat ~/.jdk
#!/bin/bash
#list available jdks
alias jdks="/usr/libexec/java_home -V"
# jdk version switching - e.g. `jdk 6` will switch to version 1.6
function jdk() {
echo "Switching java version $1";
requestedVersion=$1
oldStyleVersion=8
# Set the version
if [ $requestedVersion -gt $oldStyleVersion ]; then
export JAVA_HOME=$(/usr/libexec/java_home -v $1);
else
export JAVA_HOME=`/usr/libexec/java_home -v 1.$1`;
fi
echo "Setting JAVA_HOME=$JAVA_HOME"
which java
java -version;
}
Java 8로 전환
$ jdk 8
Switching java version 8
Setting JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
/usr/bin/java
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Java 9로 전환
$ jdk 9
Switching java version 9
Setting JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
/usr/bin/java
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
그래도 설정할 수 없는 경우.이 명령어를 사용합니다.
JAVA_'JAVA_' displicate =/usr/libexec/java_home -v 1.8
이걸 쓰셔야 돼요.
JAVA_'JAVA_' displicate =$(/usr/libexec/java_home -v 1.8)
분명 효과가 있을 거예요.
먼저 환경변수를 어디에 저장하는지 알아봅니다.
- emacs
- bash_profile
- zshrc 파일
환경변수를 설정하는 순서:-
JAVA에서 jdk 다운로드
더블클릭으로 설치하다.
이제 파일에서 환경 변수 설정
a. emacs.profile의 경우 이 링크를 사용하거나 아래의 스크린샷을 참조할 수 있습니다.
b. ZSH 프로파일 설정의 경우 -
1. export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
2. source ~/.zshrc - Restart zshrc to reflect the changes.
3. echo $JAVA_HOME - make sure path is set up properly
----> /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
4. java -version
--> java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b16)Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
모두 설정 이제 JAVA 버전을 쉽게 업그레이드 또는 열화할 수 있습니다.
「 」에 다음의 합니다.~/.bash_profile
자바어
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
# default to Java 8
java8
, macOS를 사용하여 하고 있습니다.brew
.
: " " 를 사용하지 : " " " "bash
를 들어 올바른 를 들어, 「」를 사용하고 있는 는, 다음과 같이 해 주세요.zsh
된다~/.zshrc
만약 당신이 피쉬를 사용하고 있고 mac을 사용하고 있고 JDK를 전환할 수 있다면, mac에서 아래를 참고하세요.
@kenglxn의 답변은 통하지 않았고 bcos가 글로벌한 -g를 설정하지 않았다는 것을 알았습니다!
~/.config/fish/config 아래에 입력합니다.물고기.
alias j8="jhome -v 1.8.0_162"
alias j9="jhome -v 9.0.1"
function jhome
set -g -x JAVA_HOME (/usr/libexec/java_home $argv)
echo "JAVA_HOME:" $JAVA_HOME
echo "java -version:"
java -version
end
funcsave jhome
인스톨 되어 있는 버전 / 마이너버전을 확인하려면 , 다음의 순서를 실행합니다.
/usr/libexec/java_home -V 579ms Wed 14 Feb 11:44:01 2018
Matching Java Virtual Machines (3):
9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
1.8.0_162, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
1.8.0_121, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
여러 버전이 있으며 특정 버전을 사용하여 무언가를 실행하는 경우 다음 예를 사용합니다.
/usr/libexec/java_home -v 1.7.0_75 --exec java -jar you-file.jar
이전에는 버전 간에 쉽게 전환하기 위해 .zshrc에서 에일리어스를 사용했지만 현재는 SDKMAN을 사용하고 있습니다.SDKMAN은 시스템의 기본 Java 설정, 새로운 Java 버전 다운로드 및 설치도 처리할 수 있습니다.
sdkman이 설치되면 노드 버전을 처리하기 위해 nvm 도구에서 가능한 것과 유사한 명령을 수행할 수 있습니다.
sdk list java
및 시 으로 사용 버전을 합니다.이러한 버전에는 할 수 있는 가 포함되어 .이러한 버전에는, 에서 사용할 수 있는 식별자도 포함됩니다.sdk use
,sdk default
★★★★★★★★★★★★★★★★★」sdk install
명령어를 지정합니다.
Amazon 0.로 해야 묻습니다.Amazon Corretto 11.0.8은 Amazon Corretto 11.0.8로 합니다.sdk install java 11.0.8-amzn
도 자주 은 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★..sdkmanrc
해, 「」를하면,sdk env
디렉토리에서 명령어를 실행하면 해당 디렉토리에서만 사용되는 툴버전을 설정할 수 있습니다. sdkman을 사용하여 .sdkman_auto_env=true
★★★★★★ 。
sdkman은 gradle, kotlin, maven 등과 같은 JVM용 다른 도구도 지원합니다.
자세한 것은, https://sdkman.io/usage#env 를 참조해 주세요.
@markhellewell 답변을 바탕으로 몇 가지 에일리어스 함수를 만들었습니다.셸 스타트업 파일에 추가만 하면 됩니다.
#list available jdks
alias jdks="/usr/libexec/java_home -V"
# jdk version switching - e.g. `jdk 6` will switch to version 1.6
function jdk() {
echo "Switching java version";
export JAVA_HOME=`/usr/libexec/java_home -v 1.$1`;
java -version;
}
https://gist.github.com/Noyabronok/0a90e1f3c52d1aaa941013d3caa8d0e4
Linux(Ubuntu/Mint mate)에서 하는 방법은 다음과 같습니다.Mac도 마찬가지입니다.
설치 및 구성
순서:
- [기본 - 부품]
- jdk(.tgz 파일)를 수동으로 다운로드합니다.
- 적절한 위치에서 압축을 풀고 이름을 바꿉니다.
: ★/mnt/star/program/java/jdk-1.8
- 소프트 링크를 만듭니다.소프트 링크는 나중에 스위치 Java 버전으로 변경됩니다.
: ★ln -s /mnt/star/program/java/jdk-1.8 /mnt/star/program/java/java
★★★★★★★★★★★★★★★★★▼/mnt/star/program/java/java
을 사용하다 - ★★
JAVA_HOME
작작스스스스스스
할 수 있습니다./etc/profile.d/eric.sh
""를 사용합니다~/.bashrc
.
: ★JAVA_HOME=/mnt/star/program/java/java
- 때리다
java -version
Java ★★★★★★★★★★★★★★★★★★★★★★★★」 - [더 많은 버전 - 파트]
- 위의 절차와 마찬가지로 필요에 따라 Java 버전을 다운로드하여 설치합니다.
/mnt/star/program/java/jdk-11
- [스위치 - 부품]
- »
~/.bashrc
버전에 를 정의합니다
_E_JAVA_HOME_11='/mnt/star/program/java/jdk-11'
_E_JAVA_HOME_8='/mnt/star/program/java/jdk-8'
# dir of default version,
_E_JAVA_HOME_D=$_E_JAVA_HOME_8
- »
~/.bashrc
Java java java java java java java java java java java java java java java java java.
## switch java version,
alias jv11="rm $JAVA_HOME; ln -s $_E_JAVA_HOME_11 $JAVA_HOME"
alias jv8="rm $JAVA_HOME; ln -s $_E_JAVA_HOME_8 $JAVA_HOME"
# default java version,
alias jvd="rm $JAVA_HOME; ln -s $_E_JAVA_HOME_D $JAVA_HOME"
alias jv="java -version"
- "" " " "''입니다.
source ~/.bashrc
이치노 - 그러면 정의된 명령을 사용하여 전환할 수 있습니다.
명령어 - 위의 Configuration에서
명령어:
jv11
11Java 11로jv8
8Java 8로jvd
버전으로 합니다. 버전은 "Java "로 됩니다.이 버전은 다음과 같습니다._E_JAVA_HOME_D
를 참조해 주세요.jv
Java ★★★★★★★★★★★★★★★★★★★★★★★★」
출력 예:
eric@eric-pc:~$ jv
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
eric@eric-pc:~$ jv11
eric@eric-pc:~$ jv
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
eric@eric-pc:~$ jvd
eric@eric-pc:~$ jv
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
eric@eric-pc:~$
메커니즘
- 링크를 으로써 전환됩니다. 링크는, 「 Link」( 링크)」로 됩니다.을 사용법
JAVA_HOME
.
팁들
때버전을 후 manor하고 manor 버전을 manor .machine은 manor 버전을 사용합니다.
// dir,// "dir" 입니다.
jdk1.8.0_191
// 은 // 에 대한
jdk1.8.0_191
jdk-8
// 은 // 에 대한
jdk-8
★★★★★★★★★★★★★★★★★」jdk-11
java
합니다.
~/.bashrc
하다
하고 .~/.eric_var
하려면 , 「」를 참조해 주세요.~/.bashrc
는 그것을 「」:source $HOME/.eric_var
를 참조해 주세요.
「JDK」가하는 리스트에 개별적으로 인스톨 를 포함할 수 ./usr/libexec/java_home -V
다음과 같이 하는 입니다.
sudo ln -s path/to/jdk /Library/Java/JavaVirtualMachines/jdk-[some-identifier].jdk
예를 들어 Android Studio에 포함된 JDK(쓰기 시 1.8.0_152)를 등록하려면 다음을 사용합니다.
sudo ln -s /Applications/Android\ Studio.app/Contents/jre/jdk /Library/Java/JavaVirtualMachines/jdk-android-studio.jdk
, 이제java_home
는, 「JDK」아래에 를 합니다.Matching Java Virtual Machines
을 사용하다
zshrc에 합니다.java-change [version]
JDKJDK를
# set and change java versions
function java-change() {
echo "----- old java version -----"
java -version
if [ $# -ne 0 ]; then
export JAVA_HOME=`/usr/libexec/java_home -v $@`
export PATH=$JAVA_HOME/bin:$PATH
fi
echo "----- new java version -----"
java -version
}
Java 버전 확인: java - version
버전 간 전환: https://devqa.io/brew-install-java/
~/.profile_profile을 엽니다.
내보내기 JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
내보내기 JAVA_11_HOME=$(/usr/libexec/java_home -v11)
별칭 java8='JAVA_ 내보내기HOME=$JAVA_8_HOME' 별칭 java11='JAVA_ 내보내기'HOME=$JAVA_11_HOME'
소스 ~/.profile_profile
java11 또는 java8로 전환할 때 java -version 명령에 올바른 버전이 표시되지 않습니다.
이 경우 mvn - version을 사용하여 올바른 Java 버전이 솔루션 구축에 사용되고 있는지 확인합니다.
언급URL : https://stackoverflow.com/questions/21964709/how-to-set-or-change-the-default-java-jdk-version-on-macos
'source' 카테고리의 다른 글
다른 구성 요소에 사용되는 Vuex 어레이를 변환하는 중 (0) | 2022.08.27 |
---|---|
Vue.js 캐시 메서드 결과 (0) | 2022.08.27 |
C에서 문자열을 반복하는 방법은 무엇입니까? (0) | 2022.08.25 |
검색 메서드가 반환 값을 생성할 수 없는 경우 'null'을 반환해야 합니까? 아니면 예외를 발생시켜야 합니까? (0) | 2022.08.25 |
Vue - 이 기능을 사용하거나 액세스할 수 없습니다.mixin 파일의 $120 또는 vue 인스턴스 (0) | 2022.08.25 |