Debian

在 debian 上從 openjdk-7 升級到 openjdk-8

  • October 30, 2018

我在我的 Debian 8 機器上安裝了以下與 Java 相關的軟體包

# sudo dpkg -l | grep -i java
ii  ca-certificates-java           20140324                         all          Common CA certificates (JKS keystore)
ii  java-common                    0.52                             all          Base of all Java packages
ii  libatk-wrapper-java            0.30.5-1                         all          ATK implementation for Java using JNI
ii  libatk-wrapper-java-jni:amd64  0.30.5-1                         amd64        ATK implementation for Java using JNI (JNI bindings)
ii  openjdk-7-jre:amd64            7u181-2.6.14-1~deb8u1            amd64        OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-7-jre-headless:amd64   7u181-2.6.14-1~deb8u1            amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  tzdata-java                    2018e-0+deb8u1                   all          time zone and daylight-saving time data for use by java runtimes

我只想安裝 Java 8,但我一直遇到依賴問題:

# sudo apt install openjdk-8-jre
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
openjdk-8-jre : Depends: openjdk-8-jre-headless (= 8u171-b11-1~bpo8+1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.


# sudo apt install openjdk-8-jre openjdk-8-jre-headless
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
openjdk-8-jre-headless : Breaks: ca-certificates-java (< 20160321~) but 20140324 is to be installed
E: Unable to correct problems, you have held broken packages.

如何升級到 Java 8,同時解決所有依賴問題?

您需要告訴apt考慮反向移植的軟體包:

apt -t jessie-backports install openjdk-8-jre

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