我无法使用“Java Web Start”启动JNLP应用程序?

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

不知道发生了什么事突然JNLP文件停止启动,一个启动画面出现说Java Starting …然后没有任何反应。 甚至浏览器中的Java控制台javacpl.cpl小程序也无法打开。

尝试了所有可能性:删除所有旧版本并安装了最新的JRE(java版本“1.6.0_17”),但它仍然不起作用。

做了一些谷歌搜索这个问题,人们建议启动javaws.exe-viewer选项,但相同的行为(一个闪屏显示“Java Starting …”,然后消失)

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

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

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

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

Java Web Start开始加载但没有任何反应,以前的解决方案都没有尝试。

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

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

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

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

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

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

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

请告诉我你的反馈意见。 :d

虽然这个问题有点旧 ,但问题是由ClearType注册表设置损坏引起的,并通过修复它来解决,如此ClearType,install4j和Java bugpost中所述。

ClearType,install4j和Java bug Java的案例

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

除了他们在几个月里努力让我痛苦之外,没有什么比这更好的了。 我有一些我无法安装的Java软件。 我的意思是真的不能 – 甚至没有弄清楚原因或在另一台PC上重现它。

最近我被批准用于Woopra beta(网站分析服务),它使用用Java编写的桌面客户端……我无法安装。 这让我很生气。 🙂

故事所有相关软件都是类似的:

基于install4j的设置; 设置崩溃与一堆错误。 我在早期(大约一百次)尝试解决问题时指责install4j。 后来我慢慢明白,如果这是长时间的错误 – 解决方案将被创建和谷歌搜索。

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

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

新的错误日志说如下:

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

美好的结局? 不。 现在安装的应用程序崩溃了。 但它确实让我思考。 如果控制台工作但图形界面没有 – 后者一定有问题。

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

引起:java.lang.IllegalArgumentException:-60397977与文本特定的LCD对比键不兼容哪个成功用Google搜索了我无法读取非标准ClearType注册表设置的bug描述。

解决方案我立即从控制面板启动ClearType Tuner,发现设置显示乱码。 在纠正它之后,Java的所有问题都立即消失了。

cleartypetuner_screenshot经验教训不要快速责怪单个应用程序上的软件问题。 即使是微小且完全不相关的设置也可能引发致命的连锁反应。 链接Jave Runtime Environment http://www.java.com/en/download/index.jsp

ClearType Tuner http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

Woopra http://www.woopra.com/

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

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

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

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

  1. 从cmd runnig javaws -viewer命令打开Javaws。 将打开一个新窗口
  2. 选择所需的jnlp文件,然后单击“运行”按钮。
  3. 关闭javaws查看器窗口。

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

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

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

我有同样的问题。 原来,max-heap-size设置为1024并且缺少单位。 配置需要max-heap-size = 1024 m

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

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

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

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

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

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