0

ローカル Web サーバーに小さな webstart アプリケーションがあり、localhost:5000/games/game.jnlp でアクセスでき、Firefox と Chromium を介してアクセスすると、次のエラーが発生します。

net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize application. 
    at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:778)
    at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:552)
    at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:889)
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Cannot grant permissions to unsigned jars. Application requested security permissions, but jars are not signed.
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.setSecurity(JNLPClassLoader.java:312)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:232)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:357)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:330)
    at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:770)
    ... 2 more

これは、Swing スタイルのエラー メッセージに表示されます。

私のJNLPファイル:

<?xml version="1.0" encoding="utf-8"?>
  <jnlp
    spec="1.0+"
    href="game.jnlp"
    >

  <information>
    <title>Space Shapes</title>
    <vendor>WorldsProject</vendor>
    <homepage href="http://www.worldsproject.org"/>
    <description>A game where you must shoot shapes in space.</description>
    <description kind="short">A game where you must shoot shapes in space.</description>
  </information> 
  <security>
    <all-permissions/>
  </security>   
  <resources>
    <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+" max-heap-size="512m"/>
    <jar href="game.jar"/>  
    <jar href="resources.jar"/>
    <jar href="slick.jar"/>
    <jar href="jogg-0.0.7.jar"/>    
    <jar href="jorbis-0.0.15.jar"/>
    <jar href="lwjgl.jar"/>
    <nativelib href="lwjgl-libs.jar"/>
  </resources>

  <application-desc main-class="org.worldsproject.fluxware.spaceshapes.SpaceShapesGame"/>

</jnlp>

すべてが正しく署名されていることを確認しました

jarsigner -verify -certs -verbose

JaNeLA で jnlp を確認しました。すべて緑と黄色のメッセージで、エラーはまったくありません。私は他のウェブスタートをテストしましたが、私のものを除いてすべて動作します。

編集、私のすべての jar ファイルと jnlp ファイルへのリンク: https://www.dropbox.com/sh/hzagv1e4t4jr43t/WA-LVXp5tc

4

1 に答える 1

1

コマンド ラインを使用して jnlp を初期化する場合は、ブラウザでも javaws (Sun JDK)の場所を設定する必要があります。つまり、ブラウザが javaws アプリケーションを開こうとすると、sun Javaの場所へのパスを指定します。

また、href が相対 URL を示す場合は、コードベースのサブディレクトリである場所を参照する必要があります。コードベースで URL を指定します。

于 2012-09-17T08:07:58.543 に答える