답변:
나는 줄을 넣었다.
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
내 ~/.bashrc
파일에.
/usr/lib/jvm/java7-oracle
을 가리키는 심볼릭 링크 여야합니다 /usr/lib/jvm/java-7-oracle-[version number here]
.
심볼릭 링크 인 이유는 새 버전의 JVM이있는 경우 .bashrc
파일 을 업데이트하지 않아도 자동으로 새 버전을 가리켜 야하기 때문입니다.
JAVA_HOME
환경 변수를 전역 적으로 설정 하고 시스템 수준에서 설정하려면 /etc/environment
파일 에서 사용을 설정해야 합니다.
oracle-java7-set-default
패키지가 무엇을하는지는 완전히 명확 하지 않습니다.
글로벌 및 시스템 레벨에서 변경하려는 경우
에
/etc/environment
이 줄을 추가하십시오 :
JAVA_HOME=/usr/lib/jvm/java-7-oracle
$JAVA_HOME
하지 않습니다 ... 이와 같이 사용될 때 해결되지 않으며 PATH=$JAVA_HOME/bin
재시작을 시도했지만 아무런 효과가 없습니다. 내가해야합니까 export
또는 set
JAVA_HOME
중이 파일 또는 내 프로필에?
Oracle의 Java SE Development Kit를 시스템 기본 Java로 설정하려면 여기 에서 최신 Java SE Development Kit를 다운로드 한 다음 파일 시스템에서 원하는 위치에 디렉토리를 작성 하십시오. 예를 들어 /usr/java
, 해당 디렉토리에서 방금 다운로드 한 파일을 추출하십시오.
$ sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/java
이제 JAVA_HOME
환경 변수 를 설정하십시오 .
$ JAVA_HOME=/usr/java/jdk1.8.0_05/
$ sudo update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000
$ sudo update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000
다음과 같이 Oracle의 java가 기본 java로 설정되어 있는지 확인하십시오.
$ update-alternatives --config java
당신은 이와 같은 것을 얻습니다 :
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /opt/java/jdk1.8.0_05/bin/java 20000 auto mode
1 /opt/java/jdk1.8.0_05/bin/java 20000 manual mode
2 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode
Press enter to keep the current choice[*], or type selection number:
왼쪽 숫자 앞에 별표를 표시하고 올바른 숫자를 설정하지 않은 경우 숫자를 입력하고 Enter 키를 눌러 올바른 숫자를 선택하십시오. 이제 자바를 테스트하십시오.
$ java -version
다음과 같은 것을 얻으면 갈 수 있습니다.
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)
또한 루트 권한이 필요하거나 sudoers 그룹에 있으면이를 수행 할 수 있습니다. 우분투 12.04와 데비안 wheezy 에서이 솔루션을 테스트했으며 두 가지 모두에서 작동합니다.
이 환경 변수를 모든 사용자가 사용할 수있게하고 시스템 시작시 다음을 추가하면 /etc/profile.d/java.sh에 다음을 추가 할 수 있습니다 (필요한 경우 작성).
export JDK_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
그런 다음 터미널에서 다음을 실행하십시오.
sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh
내 두 번째 질문은-java-6-sun 또는 java-6-sun-1.6.0.24를 가리켜 야합니까?
java-7-oracle
우분투 리포지토리에서 현재 oracle.com에서 다운로드 할 수 있다고 가정하면 가장 최근에 설치된 심볼릭 링크로 항상 가리켜 야합니다 .
자바 6
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64
또는 자바 7
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
어떤 종류의 개발을 수행하는 경우 JDK (Java Development Kit)를 가리켜 야합니다. 그렇지 않으면 JRE (Java Runtime Environment)를 가리킬 수 있습니다.
JDK에는 JRE에있는 모든 것이 포함되어 있습니다. Java 프로그램 만 실행하는 경우 JRE 또는 JDK를 가리킬 수 있습니다.
JAVA_HOME
사용중인 현재 Java를 기반으로 설정해야합니다 .
readlink
현재 Java에 대한 기호 링크의 값을 인쇄 sed
하고 JRE 디렉토리에 맞게 조정합니다.
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
JAVA_HOME을 JDK로 설정하려면 한 폴더 이상 더 이동해야합니다.
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
여러 JDK를 설치할 때 특정 버전의 Java를 사용하려는 경우 JAVA_HOME 설정만으로는 작동하지 않을 수 있습니다.
sudo update-alternatives --config java
기본 Java를 설정하는 데 사용해야 합니다.
참조 이 ; 운영
sudo update-java-alternatives --list
이름 및 디렉토리별로 시스템의 모든 Java 설치를 나열한 다음 실행
sudo update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]
사용할 JRE / JDK를 선택합니다.
각 Java 태스크마다 다른 JDK / JRE를 사용하려는 경우 한 번에 하나의 Java 실행 파일을 구성하기 위해 업데이트 대체를 실행할 수 있습니다. 당신은 실행할 수 있습니다
sudo update-alternatives --config java[Tab]
구성 할 수있는 Java 명령 (java, javac, javah, javaws 등)을 보려면 그리고
sudo update-alternatives --config [javac|java|javadoc|etc.]
해당 Java 작업 / 명령을 특정 JDK / JRE에 연결합니다.
일부 응용 프로그램에 대해 JAVA_HOME을 설정해야 할 수도 있습니다. 이 답변 에서 사용할 수 있습니다
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
JRE의 경우
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
JDK를 위해.
java -XshowSettings 2>&1 | grep -e 'java.home' | awk '{print "JAVA_HOME="$3}' | sed "s/\/jre//g" >> /etc/environment