如何設定預設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)

仍然是一個問題,如果 Irunjavac -version它給我安裝的舊版本:

$ javac -version
javac 1.6.0_22

如果我在這裡使用測試儀關聯它會告訴我版本是

Java Version 1.6.0_22 from Sun Microsystems Inc.

出了什麼問題?

看來Java執行時間環境已更新,但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 編譯器的路徑

IE

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

其次是:

sudo update-alternatives --config javac

關於設定 java chrome 插件。

大師提問:

如何安裝 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,您可以執行 update-alternatives 一次設定一個 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使用的文件。有了它,您應該能夠在 java 安裝之間完全切換(無論 JDK、JRE,...)。

答案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 的目錄。

相關內容