28

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

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

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

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

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

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

4

16 回答 16

11

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

于 2009-12-16T08:28:23.377 回答
11

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

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

Java Web Start 开始加载,但没有发生任何事情,并且之前的解决方案尝试都没有奏效。

经过一番挖掘,我发现了这个线程,它提供了相同的设置和很好的解释。

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

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

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

于 2015-06-13T09:38:56.473 回答
10

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

Java 控制面板 - 在我的计算机上保留临时文件

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

也请让我知道您的反馈。:D

于 2014-05-20T07:28:48.137 回答
4

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

javaws -viewer

图片供您参考

于 2020-08-25T07:30:05.437 回答
3

如果 javacpl 没有打开并给你Could not find the main class:,可能是 Java 因为 deployment.properties 的变化而感到困惑(可以在 中找到C:\Users\<username>\AppData\LocalLow\Sun\Java\Deployment on Win7)。删除该文件,一切都很好。

这个错误似乎是 6 岁,cf。一个应用程序应该能够忽略随着时间的推移已经过时的属性,不是吗?

于 2011-03-25T15:46:36.130 回答
3

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

ClearType、install4j 和 Java 错误 Java 案例

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

除了他们一起努力让我痛苦了几个月之外,别无其他。我有一些无法安装的 Java 软件。我的意思是真的不能——甚至不能找出原因或在另一台 PC 上重现它。

最近我获得了 Woopra beta(站点分析服务)的批准,它使用了用 Java 编写的桌面客户端……我无法安装。这让我真的很生气。:)

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

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

跟踪 从 install4j 转移焦点后,我决定推动 Java 框架。我之前尝试过稳定版本,所以决定选择不稳定的 1.6 Update 10 Release Candidate。

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

新的错误日志说如下:

无法显示 GUI。此应用程序需要访问 X 服务器。如果您有权访问,则可能缺少 X 库。****************************************************** ***************** 您也可以通过传递参数 -c 在控制台模式下运行此应用程序而无需访问 X 服务器 在非 Linux 上查找 X 服务器非常奇怪电脑,不是吗?所以我决定尝试那个“-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

乌普拉http://www.woopra.com/

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

于 2013-08-27T09:15:47.427 回答
3

我也面临同样的问题。将此修复为以下步骤。

  1. 从 cmd runnig javaws -viewer 命令打开 Javaws。将打开一个新窗口
  2. 选择所需的 jnlp 文件,然后单击运行按钮。
  3. 关闭 javaws 查看器窗口。
于 2018-01-17T14:27:13.010 回答
1

相同的解决方案按照 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)
于 2020-06-30T15:04:04.417 回答
0

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

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

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

于 2009-12-16T14:22:14.757 回答
0

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

于 2019-08-03T20:00:10.120 回答
0

我有同样的问题。结果发现最大堆大小设置为 1024 并且缺少该单元。配置需要是 max-heap-size=1024 m

因此,jnlp 文件中显然无效的内存配置将导致这种确切的行为。

于 2015-11-23T08:55:15.097 回答
0

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

于 2020-01-29T09:46:22.543 回答
0

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

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

于 2016-06-26T01:21:29.213 回答
0

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

于 2019-03-05T08:32:45.647 回答
0

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

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

于 2017-11-13T06:06:56.510 回答
0

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

于 2015-12-01T21:41:25.537 回答