我正在尝试启动位于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>
这里有什么问题?
答案 0 :(得分:6)
当然不是最有用的错误信息。
我能够通过修复代码库网址来解决这个问题。您的实际代码托管在:
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并立即抛出另一个异常,但这似乎是一个不同的问题(您的应用程序请求更改默认运行时处理程序而无权执行此操作)。
答案 1 :(得分:0)
不确定Java中的错误,在许多博客上发现了这个文本。 我怎么解决这个问题: 我能够使用相同的Java版本在WinXP机器中启动名为“WinXp-32bit-101”的其他Jenkins从属节点。但我为Win7机器创建的其他节点名为“win7-64bit - 113”我无法在Win7机器上启动同样的错误。 我在WinXp机器上尝试了同样的启动并得到了同样的错误。 我也尝试在win7机器上启动旧节点“WinXp-32bit-101”并在那里工作。
这意味着错误不适用于Java,即使Windows操作系统版本与两台机器中的错误相同也是如此。
解决方案: 我只比较了两个节点的配置差异,并删除了名称中的空格。 从“win7-64bit - 113”到“win7-64bit-113”
并且有效。
这对其他人也有帮助