歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> OpenSUSE下安裝JDK

OpenSUSE下安裝JDK

日期:2017/2/28 13:48:50   编辑:Linux教程

openSUSE自帶了OpenJDK,安裝Oracle JDK後,需要使用alternatives切換系統默認使用的JDK版本。

1)安裝JDK:

linuxidc@linux-linuxidc:~/下載> sudo zypper install jdk-8u66-linux-x64.rpm -y
...
/var/tmp/rpm-tmp.DfGrcZ: line 638: /usr/sbin/alternatives: No such file or directory
/var/tmp/rpm-tmp.DfGrcZ: line 650: /usr/sbin/alternatives: No such file or directory
warning: %post(jdk1.8.0_66-2000:1.8.0_66-fcs.x86_64) scriptlet failed, exit status 127

有如上的報錯,“/usr/sbin/alternatives”這個文件找不到。openSUSE相應的文件名是update-alternatives,嘗試做了軟連接,會報新的錯誤:

update-alternatives: error: alternative javaws can't be slave of java: it is a slave of javaplugin
update-alternatives: error: alternative javaws can't be slave of javac: it is a slave of javaplugin
warning: %post(jdk1.8.0_66-2000:1.8.0_66-fcs.x86_64) scriptlet failed, exit status 2

看來openSUSE和Oracle JDK不是很友好啊,需要手動完成後續的必要步驟(從網上找的,可能不是安裝腳本的全部後續操作)。

2)用alternatives聲明jdk版本並設為默認:

linuxidc@linux-linuxidc:~/下載> sudo /usr/sbin/update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk1.8.0_66/bin/java" 40
linuxidc@linux-linuxidc:~/下載> sudo /usr/sbin/update-alternatives --install "/usr/lib64/browser-plugins/javaplugin.so" "javaplugin" "/usr/java/jdk1.8.0_66/jre/lib/amd64/libnpjp2.so" 40

——其中紅色部分根據操作系統及指令集不同會有不同。

linuxidc@linux-linuxidc:~/下載> sudo /usr/sbin/update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib64/jvm/jre-1.8.0-openjdk/bin/java 18040 auto mode
1 /usr/java/jdk1.8.0_66/bin/java 40 manual mode
2 /usr/lib64/jvm/jre-1.7.0-openjdk/bin/java 17147 manual mode
3 /usr/lib64/jvm/jre-1.8.0-openjdk/bin/java 18040 manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/java/jdk1.8.0_66/bin/java to provide /usr/bin/java (java) in manual mode
linuxidc@linux-linuxidc:~/下載> sudo /usr/sbin/update-alternatives --config javaplugin
There are 3 choices for the alternative javaplugin (providing /usr/lib64/browser-plugins/javaplugin.so).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib64/java-1_8_0-openjdk-plugin/lib/IcedTeaPlugin.so 18020 auto mode
1 /usr/java/jdk1.8.0_66/jre/lib/amd64/libnpjp2.so 40 manual mode
2 /usr/lib64/java-1_7_0-openjdk-plugin/lib/IcedTeaPlugin.so 17147 manual mode
3 /usr/lib64/java-1_8_0-openjdk-plugin/lib/IcedTeaPlugin.so 18020 manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/java/jdk1.8.0_66/jre/lib/amd64/libnpjp2.so to provide /usr/lib64/browser-plugins/javaplugin.so (javaplugin) in manual mode

3)查看JDK版本:
linuxidc@linux-linuxidc:~/下載> java -version
java version "1.8.0_66"

4)修改JAVA_HOME:

但是此時JAVA_HOME尚不正確:

linuxidc@linux-linuxidc:~/下載> echo $JAVA_HOME
/usr/lib64/jvm/jre

修改/etc/profile文件,在文件尾追加:

export JAVA_HOME=/usr/java/jdk1.8.0_66
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

退出,重新登陸後:

linuxidc@linux-linuxidc:~> echo $JAVA_HOME
/usr/java/jdk1.8.0_66

DONE!

Ubuntu 14.04安裝JDK1.8.0_25與配置環境變量 http://www.linuxidc.com/Linux/2015-01/112030.htm

CentOS 搭建JDK環境 http://www.linuxidc.com/Linux/2015-06/118879.htm

Ubuntu 14.04安裝JDK1.8.0_25與配置環境變量 http://www.linuxidc.com/Linux/2015-01/112030.htm

Ubuntu 14.04 LTS安裝Oracle JDK 1.8 http://www.linuxidc.com/Linux/2014-11/109216.htm

CentOS6.3安裝JDK和環境配置 http://www.linuxidc.com/Linux/2012-09/70780.htm

Ubuntu 14.04 安裝 JDK8 http://www.linuxidc.com/Linux/2014-09/106218.htm

Ubuntu下安裝JDK圖文解析 http://www.linuxidc.com/Linux/2014-09/107291.htm

更多SUSE相關信息見SUSE 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=3

Copyright © Linux教程網 All Rights Reserved