尝试启动JWS应用程序时出现NullPointerException

gpa*_*ani 1 java nullpointerexception java-web-start

我正在尝试启动位于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)
Run Code Online (Sandbox Code Playgroud)

这是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>
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?

Pac*_*ace 6

当然不是最有用的错误信息.

我通过修复代码库URL来解决这个问题.您的实际代码托管在:

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

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

http://gparyani.com/

总之,修复是将JNLP文件中的jnlp元素修改为:

<jnlp spec="1.0+" codebase="http://www.rohitleena.com/gparyani/">
Run Code Online (Sandbox Code Playgroud)

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

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

修复此问题会超过NullPointerException并立即抛出另一个异常,但这似乎是一个不同的问题(您的应用程序请求更改默认运行时处理程序而无权执行此操作).