我編寫了一個基本的java程序來測試jnlp並從eclipse導出爲runnable jar並用jarsigner簽名。java web start無法在第二次運行時啓動
JNLP文件如下:
<?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],它按預期工作第一次運行一個測試。
當我重試第二次,Java Web Start的是無法午餐計劃,並給予下列錯誤
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
當我通過javaws -uninstall
反安裝從緩存中的程序,並嘗試通過javaws的運行[HTTP: //192.168.2.15/test/test.jnlp]通常againg爲第一次運行工作,但當我第二次嘗試時,我得到了上述相同的錯誤。
我的測試平臺是Windows 7的最終版本,並安裝了最新的java版本。
我是Java新手,我找不到問題。你可以幫幫我嗎?檢查與JaNeLA我的JNLP文件的
結果:
JaNeLA報告 - 版本17年5月11日
報告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'的資源大小來優化下載。
- 可以通過刪除download ='eager'的(默認)值來優化test.jar上的資源下載。
- 可以通過刪除main ='false'的(默認)值來優化test.jar中的資源下載。
- 可能可以優化應用程序的啓動。通過爲test.jar資源指定download ='lazy'。
- 延遲下載可能無法按預期工作test.jar,除非指定了下載「部分」。
我仍然在試圖解決這個問題,當我測試在具有操作系統爲Windows XP的PC的JNLP,我沒有得到任何錯誤,同樣的JNLP始終運行(第一次運行,第二次運行,...) 還有另一個電腦(Windows 7的專業)我也在測試中,並得到了同樣的錯誤,即第一次工作,第二次運行得到錯誤...
Sory我無法理解,我使用默認設置設置了我的Web服務器,我不知道我應該控制什麼。另一方面,正如我在我的帖子中說,它正在爲第一次運行工作,我的意思是它已成功地加載程序並運行,我得到第二次和其他運行的錯誤。 –