在 Linux 上启动 java web start 应用程序的问题

Posted

技术标签:

【中文标题】在 Linux 上启动 java web start 应用程序的问题【英文标题】:issue with starting java web start application on linux 【发布时间】:2013-04-05 10:38:02 【问题描述】:

操作系统:Linux 版本 2.6.18-308.1.1.el5 (mockbuild@x86-002.build.bos.redhat.com) (gcc 版本 4.1.2 20080704 (Red Hat 4.1.2-52)) # 1 SMP 2012 年 2 月 17 日星期五 16:47:13 EST

Java Version: Match: digest selected JREDesc: JREDesc[version 1.6+, heap=134217728-536870912, args=-ea, href=null, sel=false, null, null], JREInfo: JREInfo for index 0:
    platform is: 1.7
    product is: 1.7.0_17
    location is: http://java.sun.com/products/autodl/j2se
    path is: /usr/java/jre1.7.0_17/bin/java

尝试使用 Mozilla Firefox。

问题:无法启动 JRE 1.7.0 的 java web start 应用程序,即使我正在使用部署工具包。

JRE 7.0 的 html 源代码:deployJava.createWebStartLaunchButton(url,'1.7.0'); JRE 6.0 的 html 源代码:deployJava.createWebStartLaunchButton(url,'1.6.0');

注意: 该应用程序在 Windows 环境中运行良好,而 Linux 运行 1.6 版本也很好。我还注意到机器的默认 JRE 仍然是 1.6.0,即使我已经使用来自 here 的 RPM 安装了 JRE 1.7.0,并且当我现在尝试安装时,它说 JRE 已经安装。

更新:我已经更新了默认的 JRE,现在它显示 JRE 1.7.0

[root@L3FMV80 defaults]# java -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) Client VM (build 23.7-b01, mixed mode, sharing)

[root@L3FMV80 Downloads]# rpm -ivh jre-7u17-linux-i586.rpm 
Preparing...                ########################################### [100%]
        package jre-1.7.0_17-fcs.i586 is already installed

【问题讨论】:

sudo /usr/sbin/alternatives --config java ... 还是update-alternatives?我不记得了 【参考方案1】:

你没有说你使用的是什么发行版。尝试安装openjdk icedtea-web,后者是一个web start实现和一个浏览器插件。

您不必使用浏览器插件。您可以使用“javaws”程序打开该文件。

【讨论】:

我不明白“您使用的是什么发行版”。我已经指定了有关操作系统和 java 版本的所有详细信息,我不能让我的客户端使用 javaws 运行程序。 @Ashish,太糟糕了,你没有试图回答你被问到的问题并快点用-1。我没有动力帮助你。 FYI 内核版本不是万能的,firefox 没有版本就没有多大意义。不同的发行版具有不同的库,因此有时相同版本的程序/内核/java 的行为会有所不同。您没有告诉任何有关您在浏览器中尝试打开应用程序时看到的内容。祝你好运..【参考方案2】:

this 我有很好的解决方案

所以在很长一段时间无法玩这个 Facebook 游戏之后 我们正在为 P2P 相关研究构建,它在 Java Web Start 上运行, 我今天终于生气了,坐下来终于到了谷底 。

因为 Java 不是免费技术等等,OpenSUSE 实际上 预装了 OpenJDK,而不是 Java 的通用版本 由 Sun 分发。使用此默认配置,Web Start (JNLP) 默认情况下,互联网上的文件将在开放实现中打开 Java Web Start 称为“IcedTea Web Start”,我听说它有效 相当不错——但在某些情况下完全不起作用,比如我的。

对于像我这样需要从以下位置运行 Sun 版本的 Web Start 的人 Firefox – 首先,您需要获取并安装 Sun 的 Java 运行时使用您的软件包管理器(在 OpenSUSE 中 包称为 java-1_6_0-sun)。验证您是否有程序 在此步骤之后称为“javaws”。你可以简单地输入‘javaws’到 打开终端并确保它被识别为 Java(TM) Web Start。

好的,接下来我们要做的就是让Firefox在打开时使用javaws JNLP 文件。 对于其他发行版,您可以转到 Edit > Preferences > Firefox 中的应用程序,查找 JNLP,并更改设置以使其 使用 javaws。在 OpenSUSE 上,Firefox 是集成的,因此它需要它的 文件关联设置直接从 KDE。所以你必须改为 转到 KDE 的系统设置(配置桌面)> 高级选项卡 > 文件 协会。在这里,搜索 JNLP,然后添加“/usr/bin/javaws” 到应用程序优先顺序的顶部。

我们完成了!下次您在 Firefox 中打开 JNLP Web Start 文件时,它 应该提供使用 Sun 的 Java Web Start 来打开它:)

有用链接:how to run jnlp files under ubuntu

【讨论】:

以上是关于在 Linux 上启动 java web start 应用程序的问题的主要内容,如果未能解决你的问题,请参考以下文章

java web项目在linux部署启动常用的linux命令总结

使用 selenium 和 JavaScript 在 Linux 上启动 Brave Web 浏览器

如何在EC2 Linux 2上启动简单的Web服务器并具有

java应用linux启动脚本

Linux CentOS下部署Java Web项目

Linux(Centos)之安装tomcat并且部署Java Web项目