[java] Ubuntu에서 Oracle Java를 기본 Java로 설정하는 방법은 무엇입니까?

JAVA_HOMEOracle Java를 가리 키도록 Ubuntu 의 값을 어떻게 변경 합니까?

그것을 가리켜 야 java-6-sunjava-6-sun-1.6.0.24?



답변

나는 줄을 넣었다.

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파일 에서 사용을 설정해야 합니다.


답변

글로벌 및 시스템 레벨에서 변경하려는 경우

/etc/environment

이 줄을 추가하십시오 :

JAVA_HOME=/usr/lib/jvm/java-7-oracle


답변

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를 설정하는 데 사용해야 합니다.

/ubuntu/121654/how-to-set-default-java-version참조하십시오 .