【问题标题】:I am not able launch JNLP applications using "Java Web Start"?我无法使用“Java Web Start”启动 JNLP 应用程序?
【发布时间】:2010-12-27 03:04:15
【问题描述】:

直到最近,我还能够使用 Java web startFirefox 中启动/打开 JNLP 文件。

不知道发生了什么突然JNLP文件停止启动,出现一个启动屏幕,显示Java正在启动...然后什么也没有发生。甚至浏览器中的 Java 控制台javacpl.cpl 小程序也无法打开。

尝试了所有可能性:删除了所有旧版本并安装了最新的 JRE(java 版本“1.6.0_17”),但仍然无法正常工作。

为这个问题做了一些谷歌搜索,人们建议使用 -viewer 选项启动 javaws.exe,但行为相同(出现一个启动屏幕,显示“Java 正在启动... "然后消失)

问题是我不知道要查找的任何地方(日志等)以查看导致问题的原因。

我使用的是 WinXP SP3,下面的一些屏幕截图显示了有关我的系统的更多信息。 如果需要,我可以提供任何其他详细信息,但请帮我解决这个问题。

【问题讨论】:

  • 我也看到了这个问题——真的很烦。

标签: java jnlp java-web-start


【解决方案1】:

应启用 Java web start。
检查javaws(您的系统是否启用了Java web start),在控制台中使用以下命令打开java控制面板。

javaws -viewer

【讨论】:

    【解决方案2】:

    与 hpereira 建议的解决方案相同 问题是由于 JRE 版本是 32 位而不是 64 位 检查java -version 以查看您的 Java 是否为 64 位

    C:\>java -version
    java version "1.8.0_192"
    Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
    Java HotSpot(TM) **64-Bit Server** VM (build 25.192-b12, mixed mode)
    

    【讨论】:

      【解决方案3】:

      我在这里遇到了同样的问题。转到您的 Java 控制面板和设置...取消选中“在我的计算机上保留临时文件”。应用更改并重试您的 .jnlp

      注意:在不同的机器上测试过; Windows Server 2012、Windows Server 2008 和 Windows 7 64 位。 Java 版本:1.7++,因为我的 jnlp 应用程序是基于 1.7 构建的

      也请告诉我您的反馈。 :D

      【讨论】:

        【解决方案4】:

        试试 Java Web Launcher,而不是 Java Web Start Launcher。它对我有用。

        【讨论】:

          【解决方案5】:

          我想分享我的问题的根本原因。我在 Windows 中使用高 DPI,这导致 JNLP 无法启动。我必须关闭高 DPI 才能正常工作。希望这会有所帮助。

          【讨论】:

            【解决方案6】:

            我认为这是一个安全问题。如果我下载 jnpl 文件并在通过javaws myfile.jnpl 安装干净的 java 8 后执行它,一切正常(我得到多个窗口,我必须确认一些安全问题)。

            【讨论】:

              【解决方案7】:

              我也遇到了同样的问题。要解决此问题,请执行以下步骤。

              1. 从 cmd runnig javaws -viewer 命令打开 Javaws。将打开一个新窗口
              2. 选择你想要的jnlp文件并点击运行按钮。
              3. 关闭 javaws 查看器窗口。

              【讨论】:

                【解决方案8】:

                这也可能是由于您系统中的环境变量 CATALINA_HOME。在我们的组织中,有几个 JNLP 应用程序拒绝启动而没有记录任何内容并清空 CATALINA_HOME 的情况解决了这个问题。

                我在命令提示符中设置了环境变量,但它没有出现在 GUI 中。我不确定 setx 命令或寄存器删除命令是否有效。删除变量后似乎需要重新启动。

                【讨论】:

                  【解决方案9】:

                  在我的例子中,Netbeans 会自动创建一个不起作用的 .jnlp 文件,而我的问题是由于意外覆盖了服务器上的 launch.jnlp 文件(来自 Netbeans 的版本不充分且不正确)。这导致本地 .jnlp 文件和远程 .jnlp 文件不匹配,导致 Java Web Start 在“验证应用程序”后刚刚退出。

                  因此,其他人不必浪费一个小时来寻找应该由 Java WS 充分传达(但不是)的错误。

                  【讨论】:

                    【解决方案10】:

                    就我而言,问题是由于从公共桌面(Windows 7)上的快捷方式启动我的应用程序引起的。结果,据我所知,临时文件位置设置为 c:\users\public\etc。这导致无法写入缓存详细信息。当我在临时文件控制小程序中重置为默认值时,一切正常。

                    【讨论】:

                      【解决方案11】:

                      我知道这是一个较老的问题,但上周我开始遇到类似的问题,所以我在这里留下一些关于适合我的解决方案的说明。

                      这只发生在一些使用迄今为止最后一个 JRE (1.8.0_45) 的 Windows 机器上。

                      Java Web Start 开始加载,但没有任何反应,并且之前的解决方案尝试均无效。

                      经过一番挖掘,我找到了这个帖子,它提供了相同的设置和很好的解释。

                      https://community.oracle.com/thread/3676876

                      因此,总而言之,这是 x86 JRE 中的内存问题,由于我们的 JNLP 的最大堆定义为 1024MB,因此我们按照建议更改为 780MB,并且已修复。

                      但是,如果您需要超过 780MB,可以随时尝试在 x64 JRE 版本中启动。

                      【讨论】:

                      • 太好了,这行得通。在我们的例子中,JNPL 文件中的 -Xms 必须等于 _JAVA_OPTIONS 中设置的 -Xmx。
                      【解决方案12】:

                      我遇到了完全相同的问题。结果发现最大堆大小设置为 1024 并且缺少该单元。配置需要 max-heap-size=1024m

                      所以在 jnlp 文件中显然无效的内存配置将导致这种确切的行为。

                      【讨论】:

                        【解决方案13】:

                        虽然这个问题有点老了,但问题是由损坏的 ClearType 注册表设置引起的,并通过修复它来解决,如 ClearType, install4j and case of Java bug 帖子中所述。

                        ClearType、install4j 和 Java bug Java 案例

                        你知道吗 ClearType(Windows 中的字体平滑技术)与 Java(编程语言和推荐的框架之一)?

                        除了他们一起努力让我 痛苦了几个月。我有一些我无法使用的 Java 软件 安装。我的意思是真的不能——甚至没有弄清楚原因或 在另一台电脑上重现它。

                        最近我获得了 Woopra 测试版(网站分析服务)的批准,并且 它使用用 Java 编写的桌面客户端……我无法安装。那得到了 我真的很生气。 :)

                        故事所有有问题的软件都是相似的:

                        基于 install4j 的设置;安装程序因一堆错误而崩溃。我曾是 在早期(大约一百次)尝试解决时指责 install4j 问题。后来我慢慢明白了,如果是那样的窃听 很长一段时间 - 解决方案将被创建和谷歌搜索。

                        跟踪 从 install4j 转移焦点后,我决定推动 Java 框架。我早些时候尝试过稳定版本,所以决定去 不稳定的 1.6 Update 10 候选版本。

                        这实际上修复了错误消息,但没有崩溃。我也注意到了 在安装文件的目录中创建了新的错误日志。 以前我只在 Windows 临时目录中看到过日志。

                        新的错误日志如下:

                        无法显示 GUI。此应用程序需要访问 X 服务器。如果您有权访问,则可能缺少 X 库。 ****************************************************** ***************** 您也可以在控制台模式下运行此应用程序,而无需访问 X server 通过传递参数 -c 在上寻找 X-Server 非常奇怪 非Linux PC,不是吗?所以我决定尝试那个“-c”参数。和 实际上可以在控制台模式下安装。

                        快乐的结局?没有。现在安装的应用程序崩溃了。但是真的得到了 我在想。如果控制台工作但图形界面不工作 - 那里 后者肯定有问题。

                        另一个错误日志(在应用程序文件夹中)现在说(除其他外) 东西):

                        原因:java.lang.IllegalArgumentException:-60397977 不兼容 使用特定于文本的 LCD 对比度键成功地用谷歌搜索了我 Java 无法读取非标准 ClearType 的错误描述 注册表设置。

                        解决方案我立即从控制面板启动 ClearType Tuner 并 发现设置显示乱码。改正到合适后 Java 的所有问题都立即消失了。

                        cleartypetuner_screenshot 经验教训 不要急于责备 单个应用程序上的软件问题。即使是轻微的和完全的 不相关的设置会引发致命的连锁反应。链接 Jave 运行时环境http://www.java.com/en/download/index.jsp

                        ClearType 调谐器 http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

                        Woopra http://www.woopra.com/

                        install4j http://www.ej-technologies.com/products/install4j/overview.html

                        【讨论】:

                        • 请添加您要链接的页面的摘要。如果页面消失了,你的回答就没用了。
                        • 一个很好的例子,说明当你没有被 JVM 告知问题是多么困难时。
                        【解决方案14】:

                        如果 javacpl 没有打开并给你找不到主类:,可能是因为 deployment.properties 的变化,Java 混淆了(可以在C:\Users\<username>\AppData\LocalLow\Sun\Java\Deployment on Win7 中找到)。删除该文件,一切都很好。

                        这个 bug 好像有 6 年了,cf。应用程序应该能够忽略随着时间的推移已经过时的属性,不是吗?

                        【讨论】:

                          【解决方案15】:

                          这是您拥有代码的应用程序吗? Java 6u14 对处理 jar 安全性的方式进行了更改,这对我们造成了非常相似的问题。如果您的 jar 已签名并使用 Java 6u13 或更低版本,您可能会考虑重构代码以解决此更新或需要 Java 6u13 或更低版本。不幸的是,我不记得我们究竟做了什么来解决这个问题——当时是恐慌模式。

                          同样,如果你有代码,你就有工具可以使用。您可以在启动例程中放入System.out.println 语句 - 当您从命令行运行 JNLP 时,任何控制台输出都会显示在命令窗口中。否则,您可能会考虑使用像 log4j 这样的好记录器来更好地了解故障点。

                          您也可以考虑完全删除该应用程序并重新下载。 Java Web Start 有一个控制面板小程序,可让您查看应用下载的 URL(可能是错误的)、卸载应用、设置安全选项等。

                          【讨论】:

                          • @spork - 不,我没有代码,我尝试从浏览器运行或使用 Java Web Start 下载和运行的每个 JNLP 都会发生这种情况。
                          • 那么我的建议是将您的 JRE 回滚到较早的版本(由于我在回答中提到的安全问题,我会去更新 13),看看您是否可以运行那时的 JWS 应用程序。您也可以考虑使用 Sun 的 Java 教程页面上的 JWS 应用程序进行测试,而不是使用私人供应商提供的程序 - Sun 的应用程序更简单且有效。
                          【解决方案16】:

                          看看如果直接从命令行运行 javaws.exe 会发生什么。

                          【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 1970-01-01
                          • 2018-09-09
                          • 1970-01-01
                          • 2013-01-20
                          • 2014-05-07
                          • 2012-10-06
                          • 1970-01-01
                          • 1970-01-01
                          相关资源
                          最近更新 更多