首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IcedTe-8不能运行任何jnlp应用程序(可能是由于openjdk-11?)

IcedTe-8不能运行任何jnlp应用程序(可能是由于openjdk-11?)
EN

Ask Ubuntu用户
提问于 2019-04-18 09:44:33
回答 9查看 50.2K关注 0票数 7

我在Ubuntu伙伴18.04号上。我尝试过的所有jnlp应用程序都给出了执行错误。经过检查,Java中似乎缺少了一些库。

因此,我删除了所有东西,重新开始安装,并发现apt安装iced茶-8插件依赖于:

代码语言:javascript
复制
  ca-certificates-java default-jre default-jre-headless icedtea-8-plugin
  icedtea-netx librhino-java libtagsoup-java openjdk-11-jre
  openjdk-11-jre-headless

虽然它预计将依赖openjdk-8,而不是11 (根据ubuntu软件包网站)。我怀疑jdk-11不包括为此所需的一些库。

我的猜测是,我安装了一些PPA,现在产生了这种情况,其中jdk-11比任何jdk-8包都是最新的选择。那么,我如何实现安装了openjdk-8而不是11的iced茶-8呢?

编辑:这是我尝试从firefox启动jnlp应用程序时的输出:

代码语言:javascript
复制
Denying permission: ("java.lang.RuntimePermission" "accessClassInPackage.sun.util.resources")
net.sourceforge.jnlp.LaunchException: Fatal: Launch Error: Could not launch JNLP file. The application has not been initialized, for more information execute javaws/browser from the command line and send a bug report.     at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:582)
...
Running jdk9+ ?
java.lang.ClassNotFoundException: sun/misc/JarIndex
...
java.io.FileNotFoundException: /home/roman/.config/icedtea-web/deployment.properties (No existe el archivo o el directorio)     at java.base/java.io.FileInputStream.open0(Native Method)

ClassNotFoundException: sun/misc/JarIndex使我认为这是由于对jdk11的依赖,因为这个类似乎已经在Java9中被删除了。

我试着只安装openjdk-8,然后从源代码构建冰茶。然而,当我完成时,firefox没有检测到它(可能缺少一些命令)。

有什么想法吗?

另外,在下面找到这些命令的输出(根据您的答案尝试安装之后):

代码语言:javascript
复制
roman@roman-desktop:~$ update-java-alternatives -l
java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64
roman@roman-desktop:~$ which javaws
/usr/bin/javaws
EN

回答 9

Ask Ubuntu用户

回答已采纳

发布于 2019-04-18 17:40:32

经过一些试验和错误,我发现只有一个有用的解决方案-我们需要安装正常的OpenJDK 8从以前的Ubuntu16.04LTS手动使用下面的命令。这通常是不推荐的,但我们没有其他的方法,积极的结果。

因此,要安装的命令如下(我们删除现有的OpenJDK,然后手动安装deb-packages ):

代码语言:javascript
复制
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

此外,我们还需要使用以下单条长命令保存/保存此类包的版本:

代码语言:javascript
复制
cat <

然后,应用程序将运行

代码语言:javascript
复制
javaws StartProRealTime.jnlp

注意: Oracle Java 11或12的安装也没有帮助。

票数 7
EN

Ask Ubuntu用户

发布于 2019-10-22 17:33:28

在我的系统中,我发现javaws仍然试图使用jre-11 (这不起作用),因为default-jre-headless (icedtea-netx的依赖项)创建了一个链接(该链接没有被update-java-alternatives修改)。

代码语言:javascript
复制
$ javaws
selected jre: /usr/lib/jvm/default-java

为了让javaws再次运行,我不得不手动更改这个符号以指向jre-8版本。

票数 4
EN

Ask Ubuntu用户

发布于 2019-05-01 07:21:07

这显然与引用Oracle有关。我很久以前就卸载了Oracle java。(我还没有找到解决办法。)我在Ubuntu 19.04使用团结。

见下文,特别是“选定的jre”

代码语言:javascript
复制
$ update-java-alternatives -l

java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64    
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64
代码语言:javascript
复制
$ java -version

openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu1, mixed mode, sharing)
代码语言:javascript
复制
$ which javaws    
/usr/bin/javaws
代码语言:javascript
复制
$ javaws    
selected jre: /usr/lib/jvm/java-8-oracle

thread 'main' panicked at 'Error spawning JVM process, java executable: [/usr/lib/jvm/java-8-oracle], arguments: [["-splash:/usr/share/icedtea-web/javaws_splash.png", "-Xbootclasspath/a:/usr/share/icedtea-web/javaws.jar:/usr/share/java/js.jar:/usr/share/java/tagsoup.jar:/usr/lib/jvm/java-8-oracle/lib/ext/nashorn.jar:", "-classpath", "/usr/lib/jvm/java-8-oracle/lib/rt.jar:/usr/lib/jvm/java-8-oracle/lib/ext/jfxrt.jar:", "-Dicedtea-web.bin.name=javaws", "-Dicedtea-web.bin.location=/usr/lib/icedtea-web/bin/javaws", "net.sourceforge.jnlp.runtime.Boot"]]', src/os_access.rs:36:19
note: Run with `RUST_BACKTRACE=1` for a backtrace
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1134881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档