2009-12-16 343 views
16

直到最近,我能够启动/打开JNLP文件在Firefox使用Java web开始我无法使用“Java Web Start”启动JNLP应用程序?

不知道发生了什么,一下子JNLP文件停止发动的,一出现闪屏说Java开始...,然后什么也没有发生。甚至在浏览器中的Java控制台javacpl.cpl小程序未打开。

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

做了一些谷歌上搜索这个问题,人们提出启动javaws.exe-viewer选项,但相同的行为(一出现闪屏说:“Java开始...”,然后消失)

问题是我不知道任何地方(日志等)寻找,看看是什么造成的问题。

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

+0

我也看到这个问题 - 真的很烦人。 – Ken 2013-07-10 17:33:03

回答

2

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

的ClearType,install4j和Java漏洞的情况下的Java

你知道什么 的ClearType(字体平滑在Windows技术)具有与 爪哇(编程语言和建议的框架之一)共同?

没有什么,只是他们一起努力使我 几个月悲惨。我有一些Java软件,我不能安装 。我的意思是真的不能 - 甚至找不到理由或在另一台PC上重现它。

最近我被批准为Woopra测试版(网站分析服务),并且使用用Java编写的桌面客户端 ......我无法安装。我得到了 真的很生气。基于install4j

设置;::)的所有有问题的软件

故事相似安装程序崩溃与一堆错误。我是 在早期(百次左右)指责install4j尝试解决 问题。后来我慢慢的明白,如果这是长时间以来的错误 - 解决方案将被创建并搜索到。

追踪将焦点从install4j转移后,我决定推送Java 框架。我早些时候尝试稳定版本,所以决定去寻找 不稳定的1.6 Update 10 Release Candidate。

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

新的错误日志如下所示:

无法显示GUI。此应用程序需要访问X 服务器。如果您有权访问,则可能会丢失X库。 ************************************************* ******************您也可以在控制台模式下运行此应用程序,而无需访问 X服务器,方法是传递参数-c非常奇怪以在 上查找X-Server非Linux PC,不是吗?所以我决定尝试一下“-c”的说法。并且 实际上能够以控制台模式进行安装。

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

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

造成的:java.lang.IllegalArgumentException异常:-60397977不相容 特定文本LCD对比度键成功地用Google搜索me 用Java描述bug无法读取非标准ClearType 注册表设置。

解决方案I立即从控制面板启动ClearType调谐器,并且 发现设置显示乱码数字。在将其纠正为适当的 之后,Java的所有问题立即消失了。

cleartypetuner_screenshot经验教训不要太快责怪 单一应用程序的软件问题。即使是微不足道的和完全不相关的设置也会发起致命的连锁反应。 java的相关链接 运行环境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

+1

请添加您要链接到的页面的摘要。如果页面消失,你的答案是无用的。 – 2013-11-06 11:00:20

+1

一个很好的例子,说明当你没有被JVM告知什么问题时它有多难。 – 2014-03-29 07:31:23

8

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

+0

C:\ Documents and Settings \ akjain> javaws - 我得到这个http://img519.imageshack.us/img519/5225/javaws.jpg。如上所述,如果我给“javaws somefile.jnlp”或“javaws -viewer somefile.jnlp”,则会出现java spash,然后消失。 – akjain 2009-12-16 08:37:22

+3

然后尝试使用“-verbose”标志调用... – 2009-12-16 12:36:23

+1

也摆脱JAVAWS_HOME变量 – 2009-12-16 12:42:50

0

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

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

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

+0

@spork - NO,我没有代码,每个JNLP都会发生这种情况,我尝试从浏览器运行或下载并使用Java Web Start运行。 – akjain 2009-12-17 05:38:55

+0

然后我建议回滚你的JRE到早期版本(因为我在我的回答中提到的安全问题,我会去更新13),看看你是否可以在那时运行JWS应用程序。您也可以考虑使用Sun的Java教程页面上的JWS应用程序进行测试,而不是使用来自私有供应商的程序 - Sun的应用程序更容易操作。 – spork 2009-12-17 14:04:09

1

如果javacpl没有打开并且给你找不到主类:,可能是因为deploy.properties(可在C:\Users\<username>\AppData\LocalLow\Sun\Java\Deployment on Win7中找到)中的更改而使Java感到困惑。删除该文件,一切都很好。这个bug似乎是6岁,cf。应用程序应该能够忽略随着时间推移而过时的属性,不是吗?

4

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

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

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

9

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

这种情况只发生在一些使用最新的JRE(1.8.0_45)的Windows机器上。

Java Web Start开始加载,但没有发生任何事情,也没有任何以前的解决方案尝试工作。

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

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

所以,总而言之,它是在86 JRE内存的问题,而且由于我们JNLP的最大堆被定义为1024MB,我们换了780MB的建议,它是固定的。

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

+0

太好了,那有效。在我们的例子中,JNPL文件中的-Xms必须等于_JAVA_OPTIONS中设置的-Xmx。 – robermann 2016-12-06 15:07:44

0

我有完全相同的问题。原来,最大堆大小设置为1024并且缺少单位。配置需要为max-heap-size = 1024 m

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

0

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

0

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

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

0

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

我有在命令提示符下设置的环境变量,它没有出现在GUI中。我不确定setx命令或注册删除命令是否有效。删除变量后重新启动似乎是必要的。

1

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

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