繁体   English   中英

尝试启动JWS应用程序时发生NullPointerException

[英]NullPointerException when attempting to start JWS application

我正在尝试启动位于http://gparyani.com/beatbox.jnlp的JNLP,但是当我尝试这样做时,我在内部类中得到了NullPointerException:

java.lang.NullPointerException
    at com.sun.deploy.security.SandboxSecurity.showSandboxDialog(Unknown Source)
    at com.sun.deploy.security.SandboxSecurity.checkSignedSandboxSecurity(Unknown Source)
    at com.sun.deploy.security.SandboxSecurity.isPermissionGranted(Unknown Source)
    at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
    at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
    at com.sun.javaws.Launcher.prepareResources(Unknown Source)
    at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
    at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
    at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
    at com.sun.javaws.Launcher.launch(Unknown Source)
    at com.sun.javaws.Main.launchApp(Unknown Source)
    at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
    at com.sun.javaws.Main.access$000(Unknown Source)
    at com.sun.javaws.Main$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

这是JNLP:

<jnlp spec="1.0+" codebase="http://gparyani.com/">
  <information>
    <title>BeatBox</title>
    <vendor>Gaurav Paryani, Nick Hoang, and Harrison Qi</vendor>
    <offline-allowed/>
  </information>
  <update check="background" policy="prompt-run"/>
  <resources>
    <j2se version="1.7+"/>
    <jar href="beatbox.jar" main="true"/>
  </resources>
  <application-desc main-class="com.gparyani.beatbox.GUIMaker"/>
</jnlp>

这里有什么问题?

当然不是最有用的错误消息了。

我可以通过修复代码库URL来克服它。 您的实际代码托管在:

http://www.rohitleena.com/gparyani/

但是您的JNLP文件中的代码库是:

http://gparyani.com/

总之,解决方法是将JNLP文件中的jnlp元素修改为:

<jnlp spec="1.0+" codebase="http://www.rohitleena.com/gparyani/">

Janela将其检测为警告,它可能会帮助您将来调试这些问题。

通过将代码库更改为第一个URL,NullPointerException消失了。 我的怀疑是,它正在尝试使用证书来验证URL,并且在试图确定需要验证哪个URL时,证书验证变得混乱。

解决此问题的方法已超过NullPointerException,并立即引发另一个异常,但这似乎是一个不同的问题(您的应用程序在没有权限的情况下请求更改默认运行时处理程序)。

不确定Java中的错误,因此在许多博客中都找到了此文字。 我如何解决这个问题:我能够在WinXP Machine中以相同的Java版本启动其他名为“ WinXp-32bit-101”的Jenkins从节点。 但是我为Win7机器创建的名称为“ win7-64bit-113”的其他节点却无法在Win7机器上启动,并且出现相同的错误。 我在WinXp机器上尝试了相同的启动,并遇到了相同的错误。 我还尝试在win7机器中启动旧节点“ WinXp-32bit-101”,并且在那里工作。

这意味着错误不是Java引起的,甚至不是Windows OS版本,因为这是两台计算机中的相同错误。

解决方案:我只是比较了两个节点的配置差异,并删除了名称中的空格。 从“ win7-64bit-113”到“ win7-64bit-113”

而且有效。

这也将如何帮助他人

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM