Software-Installation

在 OpenSUSE 上安裝 Java 8 JDK - 更新替代方案

  • January 2, 2018

我在很多 OpenSUSE 論壇上搜尋了這個問題的答案,但到目前為止我還沒有找到一個。長話短說,在從 Oracle 安裝 JDK 的 RPM 時,我收到以下資訊:

> sudo zypper install jdk-8u111-linux-x64.rpm
[sudo] password for root:
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW package is going to be installed:
 jdk1.8.0_111

1 new package to install.
Overall download size: 158.3 MiB. Already cached: 0 B. After the operation, additional 258.5 MiB will be used.
Continue? [y/n/? shows all options] (y): y
Retrieving package jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64           (1/1), 158.3 MiB (258.5 MiB unpacked)
Checking for file conflicts: ......................................................................[done]
(1/1) Installing: jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64 ..........................................[done]
Additional rpm output:
Unpacking JAR files...
   tools.jar...
   plugin.jar...
   javaws.jar...
   deploy.jar...
   rt.jar...
   jsse.jar...
   charsets.jar...
   localedata.jar...
update-alternatives: using /usr/java/jdk1.8.0_111/jre/bin/java to provide /usr/bin/java (java) in auto mode
update-alternatives: error: alternative ControlPanel can't be slave of javac: it is a slave of java
warning: %post(jdk1.8.0_111-2000:1.8.0_111-fcs.x86_64) scriptlet failed, exit status 2

原諒我的冗長,我只是想讓你看到我所看到的準確。這是全新安裝的 OpenSUSE Tumbleweed。

我也嘗試將它安裝在 OpenSUSE Leap 42.2 上,並進行全新安裝。在我第一次嘗試之後,我在沒有任何 Java 支持(沒有 OpenJDK)的情況下重新載入,從頭開始,就像我完成這個安裝一樣。我專門按照在 OpenSUSE 上安裝 Java 的指南進行操作。沒有安裝 Java 的,之前安裝了 Java OpenJDK 的,出於任何原因同時安裝了 JDK 和 JRE 的,等等。

作為記錄,Java 本身正在執行,但顯然控制面板沒有。我嘗試手動使用更新替代方案,我嘗試從頭開始編譯,我已經重新載入,我已經從 Leap 切換到 Tumbleweed。以下是一些可能有用的其他資訊:

> sudo update-alternatives --list java
/usr/java/jdk1.8.0_111/jre/bin/java
> sudo update-alternatives --config java
There is only one alternative in link group java (providing /usr/bin/java): /usr/java/jdk1.8.0_111/jre/bin/java
Nothing to configure.
> java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
> javac -version
javac 1.8.0_111

同樣,我可以看到 Java 正在執行。但我仍然想了解為什麼這很容易重現以及如何解決它。

執行此安裝的過程比大多數人想像的要容易,令人驚訝的是,沒有太多關於如何執行此操作的好的或直接的資訊。上面的答案是正確的,但有些元素有點過時了。

  1. 下載 Oracle JDK 1.8.0_151
#// rpm Installation Oracle JDK 1.8.0_151
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm
  1. 執行安裝命令
#// installation command
rpm -ivh jdk-8u151-linux-x64.rp
  1. 驗證版本是否已根據您的偏好配置/安裝
java -version
  1. 使用命令行界面或編輯器設置環境變數
#//Command line 
export JAVA_HOME=/usr/java/jdk1.8.0_151/
export PATH=$PATH:/usr/java/jdk1.8.0_151/bin

#// set variables at the END of the file etc/profile
sudo vim /etc/profile/

#//Variables to set within the file
JAVA_HOME=/usr/java/jdk1.8.0_151
PATH=$Path:$HOME/bin:@JAVA_HOME/bin
export JAVA_HOME
export PATH

#//To save / exit vim execute the following key strokes
<ESC>
<:>
<x>

引用自:https://unix.stackexchange.com/questions/337474