2011-06-24 34 views
2

jnlpをテストし、Eclipseから実行可能なjarとしてエクスポートし、jarsignerで署名するための基本的なJavaプログラムを作成します。Java Web Startは2回目の実行で起動できません

<?xml version="1.0" encoding="utf-8"?> 
    <jnlp spec="1.0+" codebase="http://192.168.2.15/test" href="test.jnlp"> 
     <information> 
      <title>test</title> 
      <vendor>test</vendor> 
      <homepage href="http://192.168.2.15/test" /> 
      <description>test</description> 
     </information> 
     <security> 
      <all-permissions/> 
     </security> 
     <resources> 
      <j2se version="1.6+" /> 
      <jar href="test.jar" /> 
     </resources> 
     <application-desc main-class="Test.main"> 
     </application-desc> 
    </jnlp> 

を次のように私は最初の実行のために予想されるように、それは動作します[のjavaws http://192.168.2.15/test/test.jnlp]を使用してテストを行うとき

JNLPファイルがあります。

私は二度目を再試行すると、Javaのウェブスタートはプログラム昼食にできないと私はjavaws -uninstallによってキャッシュからプログラムをアンインストールとのjavawsで実行しようとすると、次のエラー

java.io.IOException: Server returned HTTP response code: 500 for URL: [http://192.168.2.15/test/test.jar] 
    at sun.reflect.GeneratedConstructorAccessor2.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source) 
    at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source) 
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: [http://192.168.2.15/test/test.jar] 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at java.net.HttpURLConnection.getResponseCode(Unknown Source) 
    ... 13 more 

を与える[HTTP: //192.168.2.15/test/test.jnlp]最初の実行では正常に動作していますが、2回目の試行では同じエラーが発生しています。

私のテストプラットフォームはWindows 7の最終版であり、最新のJavaバージョンがインストールされています。

私はJavaで新しいですし、問題を見つけることができませんでした。私たちを手伝ってくれますか?

JaNeLAと私のJNLPファイルを確認した結果:

JaNeLAレポート - バージョン11.05.17

レポートhttp://192.168.2.15/sistem/toplanti/test.jnlp

  • のためのXMLエンコーディング知られているが、UTF-8として宣言されていません
  • Codebase + href 'http://192.168.2.15/Sistem/Toplanti/test.jnlp'は 'http://192.168.2.15/sistem/toplanti/tes'の実際の位置と等しくありませんt.jnlp '。
  • オフラインでこのアプリケーションを最適化するには、フラグを追加します。
  • 'test.jar'のリソースサイズを指定することで、ダウンロードを最適化できます。
  • test.jarのリソースのダウンロードは、download = 'eager'の(デフォルト)値を削除することで最適化できます。
  • test.jarのリソースのダウンロードは、main = 'false'の(デフォルト)値を削除することで最適化できます。
  • アプリの起動を最適化することができます。 test.jarリソースにdownload = 'lazy'を指定することにより、
  • download 'part'が指定されていない限り、遅延ダウンロードはtest.jarの期待どおりに機能しない可能性があります。

私はまだこの問題を解決しようとしていますが、Windows XPとしてosを持つPCでjnlpをテストしたとき、私は何のエラーも出ませんでした。同じjnlpが常に実行されています、...) また私はまたテストし、同じエラーを持っている別のPC(Windows 7のプロフェッショナル)がある、すなわち、初めての作業とエラーを取得して2番目の実行のために...

答えて

0

使用しているWebサーバーのように、URLにアクセスしようとするとエラー500が返されます。

この場合、Java WebStartでは問題ありませんが、Webサーバーでは問題ありません。どのようにこれを設定しましたか?

+0

ソリー私はよく理解できませんでした。私はデフォルト設定でWebサーバーを設定しました。私は何を制御すべきか分かりません。私は自分の投稿で言ったように、それは最初の実行のために働いている、私はそれが正常にプログラムを実行して実行していることを意味する、私は2番目と他の実行のエラーを取得しています。 –

0

JaNeLAを使用してJNLPを確認してください。

+0

こんにちはAndrew、あなたは言った、私はJanelaを使用してtest.jnlpを確認し、次の結果を得た –

+0

OK。あなたは私に何を期待したのですか、出力に基づいて提案をあなたに送ります。 1つのヒントを私はあなたに与え、警告と最適化を無視して(現時点では)エラーに集中する。ああ、それは 'システム'には 'y'が、 'sistem'には 'i'と綴られています。 –

1

私は最終的にいくつかのテストを行った後、私の問題を解決しました。私はそれがweb.configに関連していることがわかりました。私のアプリケーションでは、私はtelerikツールを使用していて、圧縮のためにweb.configには[add name="RadCompression" type="Telerik.Web.UI.RadCompression" preCondition="integratedMode" ]というような行があります。私はこの行をコメント(削除)して私の問題を解決しました。

:)

関連する問題