I have installed
icedtea-netx
and nvidia-openjdk-8-jre
:Code: Select all
$ apt-cache policy icedtea-netx nvidia-openjdk-8-jre
icedtea-netx:
Installed: 1.8.8-2
Candidate: 1.8.8-2
Version table:
*** 1.8.8-2 500
500 http://deb.debian.org/debian bookworm/main amd64 Packages
100 /var/lib/dpkg/status
nvidia-openjdk-8-jre:
Installed: 9.+8u372-ga-1~11.8.0-5~deb12u1
Candidate: 9.+8u372-ga-1~11.8.0-5~deb12u1
Version table:
*** 9.+8u372-ga-1~11.8.0-5~deb12u1 500
500 http://deb.debian.org/debian bookworm/non-free amd64 Packages
100 /var/lib/dpkg/status
itweb-settings
to set deployment.jre.dir
in ~/.config/icedtea-web/deployment.properties
to the OpenJDK 8 directory (/usr/lib/jvm/java-8-openjdk-amd64/jre
). With this configuration, javaws
can run the JNLP and it downloads the two required JARs into its cache, iKVM__V1.69.27.0x0.jar.pack.gz
and liblinux_x86_64__V1.0.8.jar.pack.gz
. But the application fails to initialize. If I look at the Java console or run JNLP in a terminal (javaws -verbose launch.jnlp
), I think I see the cause of the problem:Code: Select all
Downloading file: https://brody-ipmi:443/liblinux_x86_64__V1.0.8.jar.pack.gz into: /home/rotero/.cache/icedtea-web/cache/4/https/brody-ipmi/443/liblinux_x86_64__V1.0.8.jar.pack.gz
<snip>
Downloading file: https://brody-ipmi:443/iKVM__V1.69.27.0x0.jar.pack.gz into: /home/rotero/.cache/icedtea-web/cache/5/https/brody-ipmi/443/iKVM__V1.69.27.0x0.jar.pack.gz
<snip>
java.lang.UnsupportedOperationException: Pack200 compression is no longer supported, cannot unpack https://brody-ipmi:443/liblinux_x86_64__V1.0.8.jar.pack.gz
at net.sourceforge.jnlp.cache.ResourceDownloader.uncompressPackGz(ResourceDownloader.java:502)
at net.sourceforge.jnlp.cache.ResourceDownloader.downloadPackGzFile(ResourceDownloader.java:400)
at net.sourceforge.jnlp.cache.ResourceDownloader.downloadResource(ResourceDownloader.java:364)
at net.sourceforge.jnlp.cache.ResourceDownloader.run(ResourceDownloader.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Disconnecting sun.net.www.protocol.https.DelegateHttpsURLConnection:https://brody-ipmi:443/liblinux_x86_64__V1.0.8.jar.pack.gz
Removed sun.net.www.protocol.https.DelegateHttpsURLConnection:https://brody-ipmi:443/liblinux_x86_64__V1.0.8.jar.pack.gz
java.lang.UnsupportedOperationException: Pack200 compression is no longer supported, cannot unpack https://brody-ipmi:443/iKVM__V1.69.27.0x0.jar.pack.gz
at net.sourceforge.jnlp.cache.ResourceDownloader.uncompressPackGz(ResourceDownloader.java:502)
at net.sourceforge.jnlp.cache.ResourceDownloader.downloadPackGzFile(ResourceDownloader.java:400)
at net.sourceforge.jnlp.cache.ResourceDownloader.downloadResource(ResourceDownloader.java:364)
at net.sourceforge.jnlp.cache.ResourceDownloader.run(ResourceDownloader.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Disconnecting sun.net.www.protocol.https.DelegateHttpsURLConnection:https://brody-ipmi:443/iKVM__V1.69.27.0x0.jar.pack.gz
Removed sun.net.www.protocol.https.DelegateHttpsURLConnection:https://brody-ipmi:443/iKVM__V1.69.27.0x0.jar.pack.gz
JAR https://brody-ipmi:443/iKVM__V1.69.27.0x0.jar not found. Continuing.
<snip>
JAR https://brody-ipmi:443/liblinux_x86_64__V1.0.8.jar not found. Continuing.
<snip>
netx: Initialization Error: Could not initialize application. (Fatal: Initialization Error: Unknown Main-Class. Could not determine the main class for this application.)
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize application. The application has not been initialized, for more information execute javaws from the command line.
at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:823)
at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:531)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:946)
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Unknown Main-Class. Could not determine the main class for this application.
at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:775)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:337)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:420)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:494)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:467)
at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:815)
... 2 more
javaws
can't decompress the application's JARs because "Pack200 compression is no longer supported." I found Debian bug report #1061060, which implies that Pack200 support was removed from the javaws
program provided by icedtea-netx
:Have I diagnosed this correctly? Is there anything I can do about it? I could probably get an old version of icedtea-netx from a previous Debian release, but I strongly prefer not to make a "Frankendebian…"In some more recent update of icedtea-netx, I can't determine which, exactly, the pack200 libs must have been removed from javaws.jar.
Even recent system boards from Supermicro ship their JAR libs as .jar.pack.gz files. I know, it's deprecated for ages, but tell it to them. Even if they change it now, they won't update older firmwares and there are plenty around, not only on server boards, but all kinds of enterprise equipment still running somewhere.