Java >> Java tutorial >  >> JDK

IcedTea-8 kan ikke køre nogen jnlp-applikation (måske på grund af openjdk-11?)

Efter lidt forsøg og fejl fandt jeg kun én nyttig løsning - vi skal installere normal OpenJDK 8 fra tidligere Ubuntu 16.04 LTS manuelt med kommandoer nedenfor. Det anbefales normalt ikke, men vi har ikke andre metoder med positivt resultat.

Så kommandoerne til at installere er følgende (vi fjerner eksisterende OpenJDK og installerer derefter deb-pakker manuelt):

sudo apt purge oracle-java11-* -y
sudo apt purge *openjdk* -y
sudo apt autoremove --purge -y

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openjdk-8/openjdk-8-jre-headless_8u272-b10-0ubuntu1~16.04_amd64.deb
sudo apt install -y ./openjdk-8-jre-headless_8u222-b10-1ubuntu1~16.04.1_amd64.deb

wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
sudo apt install -y ./libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openjdk-8/openjdk-8-jre_8u272-b10-0ubuntu1~16.04_amd64.deb
sudo apt install -y ./openjdk-8-jre_8u222-b10-1ubuntu1~16.04.1_amd64.deb

wget http://archive.ubuntu.com/ubuntu/pool/universe/i/icedtea-web/icedtea-netx-common_1.6.2-3ubuntu1_all.deb
sudo apt install -y ./icedtea-netx-common_1.6.2-3ubuntu1_all.deb

wget http://archive.ubuntu.com/ubuntu/pool/universe/i/icedtea-web/icedtea-netx_1.6.2-3ubuntu1_amd64.deb
sudo apt install -y ./icedtea-netx_1.6.2-3ubuntu1_amd64.deb

Vi skal også fastgøre/holde versionerne af sådanne pakker med en enkelt lang kommando nedenfor:

cat <<EOF | sudo tee /etc/apt/preferences.d/pin-java8
Package: icedtea-netx
Pin: version 1.6.2-3ubuntu1
Pin-Priority: 1337

Package: icedtea-netx-common
Pin: version 1.6.2-3ubuntu1
Pin-Priority: 1337

Package: openjdk-8-jre
Pin: version 8u272-b10-0ubuntu1~16.04
Pin-Priority: 1337

Package: openjdk-8-jre-headless
Pin: version 8u272-b10-0ubuntu1~16.04
Pin-Priority: 1337

EOF

og så kører programmet med

javaws StartProRealTime.jnlp

Bemærkninger:Installationen af ​​Oracle Java 11 eller 12 hjælper heller ikke.


På mit system fandt jeg den javaws forsøgte stadig at bruge jre-11 (hvilket ikke virkede), fordi default-jre-headless (en afhængighed af icedtea-netx ) oprettet et link (der ikke blev ændret af update-java-alternatives ).

$ javaws
selected jre: /usr/lib/jvm/default-java

Jeg var nødt til manuelt at ændre den symbol for at pege på jre-8 versionen for at have javaws kører igen.


Java tag