기본 Java 버전을 설정하는 방법은 무엇입니까?

기본 Java 버전을 설정하는 방법은 무엇입니까?

나는 여기에 명시된 모든 지침을 따랐습니다.질문, 그러나 마지막 부분에서 몇 가지 문제가 발생했습니다.

실제로 Java 버전 6.22가 있는데 버전 6.30으로 업데이트하고 싶습니다.

그래서 추출된 디렉토리를 java-6-oracle로 옮긴 후에는 /usr/lib/jvm위 답변에서 지적한 스크립트가 Java 5에서 Java 6으로 업데이트되기 때문에 무엇을 해야할지 모르겠습니다.

명확성을 위해 lsin dir 을 수행하면 여기에 출력됩니다 /usr/lib/jvm.

$ ls -l /usr/lib/jvm
total 8 
lrwxrwxrwx  1 root root   14 2011-07-12 15:18 default-java -> java-6-openjdk
lrwxrwxrwx  1 root root   14 2011-07-12 12:19 java-1.6.0-openjdk -> java-6-openjdk 
drwxr-xr-x 10 root root 4096 2012-04-12 12:06 java-6.31-oracle 
drwxr-xr-x  7 root root 4096 2012-02-24 14:43 java-6-openjdk

이제 어떻게 해야 하나요?


추가된 부분

@fossfreedom의 제안에 따라 어쨌든 스크립트를 실행했고 실제로 Java 버전이 업데이트되었습니다.

실제로 명령을 실행하면 java -version다음과 같은 결과가 출력됩니다.

$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)

있다여전히 문제, Irun이 javac -version설치된 경우 이전 버전을 제공합니다.

$ javac -version
javac 1.6.0_22

그리고 여기서 테스터를 사용하면링크버전이 다음과 같다고 알려줄 것입니다.

Java Version 1.6.0_22 from Sun Microsystems Inc.

무슨 일이 일어나고 있나요?

Java Runtime Environment는 업데이트되었지만 Java 컴파일러 및 브라우저용 Java 플러그인은 업데이트되지 않은 것 같습니다.

어떻게 업데이트할 수 있나요?


기타 추가된 부분

sudo update-alternatives --config java다음 출력을 반환합니다

$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      manual mode

Press enter to keep the current choice[*], or type selection number:

이는 JRE가 버전 6.31로 올바르게 업데이트되고 Java 컴파일러 및 Java 브라우저 플러그인에 문제가 있다는 사실을 고려하면 의미가 있습니다.

어떤 아이디어가 있나요?

답변1

첫 번째 질문에 답하세요.

webupd8 스크립트가 0.5b라는 사실이 혼동스러울 수도 있습니다. 이것이 스크립트 버전입니다. Java 버전을 참조하지 않습니다.

javac 버전 설정에 대한 추가 정보입니다.

javac 컴파일러의 경로를 명시적으로 제공해야 할 것 같습니다.

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6.31-oracle/bin/javac" 1

다음은:

sudo update-alternatives --config javac

자바 크롬 플러그인 설정과 관련하여.

마스터 질문:

Oracle JDK 6을 어떻게 설치합니까?

이 정보를 포함합니다. 폴더 구조가 약간 다르기 때문에 링크 명령은 다음과 같아야 합니다.

ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

답변2

보다이것; 달리다

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용.

답변3

update-java-alternatives패키지 의 명령 java-common과 패키지에서 사용되는 파일을 살펴봐야 한다고 생각합니다 *.jinfo. 이를 통해 JDK, JRE 등에 관계없이 Java 설치 간에 완전히 전환할 수 있습니다.

답변4

javac javaws javadoc 또는 기타 Java 관련 명령에 대한 대안을 수동으로 설정하려는 경우 해당 명령을 Java 대안의 슬레이브로 만들 수 있습니다.

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_74/bin/java" 0 --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk1.8.0_74/bin/javadoc"


update-alternatives: updating alternative /opt/jdk1.8.0_74/bin/java because link group java has changed slave links


:/opt/jdk1.8.0_74$ sudo update-alternatives --display java

java - 자동 모드 링크 최상의 버전은 /opt/jdk1.8.0_74/bin/java 링크는 현재 /opt/jdk1.8.0_74/bin/java 링크를 가리킵니다. java는 /usr/bin/java 슬레이브 javadoc은 /usr/bin입니다. /javadoc /opt/jdk1.8.0_74/bin/java - 우선 순위 0 슬레이브 javadoc: /opt/jdk1.8.0_74/bin/javadoc

/opt/jdk1.8.0_74/를 jdk가 설치된 디렉토리로 변경하십시오.

관련 정보