[英]I am not able launch JNLP applications using "Java Web Start"?
直到最近,我才能够使用Java web start在Firefox中启动/打开JNLP文件。
不知道发生了什么, JNLP文件突然停止启动,启动画面显示Java Starting...然后什么也没有发生。 即使是浏览器中的Java 控制台和javacpl.cpl小程序也打不开。
尝试了所有可能性:删除了所有旧版本并安装了最新的 JRE(java 版本“1.6.0_17”),但仍然无法正常工作。
为这个问题做了一些谷歌搜索,人们建议使用-viewer选项启动javaws.exe但行为相同(启动画面出现说“Java Starting ...”然后消失)
问题是我不知道有什么地方(日志等)可以查找导致问题的原因。
我使用的是 WinXP SP3,下面的一些屏幕截图显示了有关我的系统的更多信息。 如果需要,我可以提供任何其他详细信息,但请帮我解决这个问题。
看看如果直接从命令行运行 javaws.exe 会发生什么。
我知道这是一个较旧的问题,但上周我开始遇到类似的问题,所以我在这里留下了一些关于适合我的解决方案的注释。
这只发生在一些 Windows 机器上,甚至使用迄今为止的最后一个 JRE (1.8.0_45)。
Java Web Start 开始加载,但什么也没发生,之前的解决方案尝试都没有奏效。
经过一番挖掘,我找到了这个线程,它提供了相同的设置和很好的解释。
https://community.oracle.com/thread/3676876
因此,总而言之,这是 x86 JRE 中的内存问题,并且由于我们的 JNLP 的最大堆定义为 1024MB,我们按照建议更改为 780MB 并已修复。
但是,如果您需要超过 780MB,可以随时尝试以 x64 JRE 版本启动。
虽然这个问题有点老,但问题是由损坏的 ClearType 注册表设置引起的,并通过修复它来解决,如本ClearType、install4j 和 Java 错误帖子中所述。
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 服务器。 如果您有权访问,则可能缺少 X 库。 ****************************************************** ***************** 您也可以通过传递参数 -c 在不访问 X 服务器的情况下以控制台模式运行此应用程序 在非 Linux 上查找 X-Server 非常奇怪电脑,不是吗? 所以我决定尝试使用“-c”参数。 并且实际上能够在控制台模式下安装。
圆满结局? 不。 现在安装的应用程序崩溃了。 但这确实让我思考。 如果控制台工作但图形界面不工作——后者肯定有问题。
另一个错误日志(在应用程序文件夹中)现在说(除其他外):
引起:java.lang.IllegalArgumentException:-60397977 与文本特定的 LCD 对比度键不兼容它成功地用谷歌搜索了我关于 Java 无法读取非标准 ClearType 注册表设置的错误描述。
解决方案我立即从控制面板启动了 ClearType Tuner,发现设置显示乱码。 在将其纠正为正确的一个之后,Java 的所有问题都立即消失了。
cleartypetuner_screenshot 经验教训 不要急于将软件问题归咎于单个应用程序。 即使是次要且完全不相关的设置也可能引发致命的连锁反应。 链接 Java 运行时环境http://www.java.com/en/download/index.jsp
ClearType 调谐器http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx
install4jhttp://www.ej-technologies.com/products/install4j/overview.html
我也面临同样的问题。 要解决此问题,请执行以下步骤。
如果 javacpl 没有打开并且给你找不到主类: ,那可能是因为deployment.properties(可以在C:\\Users\\<username>\\AppData\\LocalLow\\Sun\\Java\\Deployment on Win7
)。 删除该文件,一切正常。
这个错误似乎是 6 岁,参见。 应用程序应该能够忽略随着时间的推移已经过时的属性,不是吗?
与 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)
这是您拥有代码的应用程序吗? 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 的版本不足launch.jnlp
正确)。 这导致本地.jnlp
文件和远程.jnlp
文件不匹配,导致 Java Web Start 在“验证应用程序”后直接退出。
因此,任何人都不必浪费一个小时来查找应该由 Java WS 充分沟通(但不是)的错误。
这也可能是由于系统中的环境变量 CATALINA_HOME。 在我们的组织中,有几种情况下 JNLP 应用程序只是拒绝启动而不记录任何内容并清空 CATALINA_HOME 解决了该问题。
我在命令提示符中设置了环境变量,但它没有出现在 GUI 中。 我不确定 setx 命令或注册删除命令是否有效。 删除变量后似乎需要重新启动。
我相信这是一个安全问题。 如果我下载 jnpl 文件并在通过javaws myfile.jnpl
干净的 java 8 安装后执行它,一切正常(我得到多个窗口,我必须确认一些安全问题)。
我想分享我的问题的根本原因。 我在 Windows 中使用了高 DPI,这导致 JNLP 无法启动。 我不得不关闭高 DPI 才能工作。 希望这会有所帮助。
尝试 Java Web Launcher,而不是 Java Web Start Launcher。 它对我有用。
右键单击未打开的 JNLP 文件和 select 打开方式。 在“您希望如何打开此文件”window 中,向下滚动并单击在此 PC 选项上查找另一个应用程序。 当文件资源管理器 window 打开时,导航到以下位置:C:\Program Files (x86)\Java\jre1.8.0_261\bin 或 64 位版本的文件夹
Select javaws.exe 然后点击打开按钮。 这将按预期打开 JNLP 文件。 确保选中始终使用此应用程序打开 .jnlp 文件。 就这样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.