簡體   English   中英

Java Web Start with Signed

[英]Java Web Start with Signed

所有,

我在運行由Netbeans 7生成的java Web啟動應用程序時遇到了一些麻煩。

我已將現有的Java 6.9.1應用程序遷移到Netbeans 7,並嘗試將其作為Web啟動應用程序。

為此,我已從項目屬性中選中了“啟用Web Start”選項。

對於codebase選項,我選擇了Web Application Deployment。 選擇Application描述符選項,它將JNLP application-desc元素指向我的應用程序主類。

為了簽名,我已經生成了一個密鑰並指向了Signing屬性。 我將混合代碼設置為僅受信任,因為我的應用程序將僅使用已簽名的JAR。

當我編譯時,所有引用的JAR文件和應用程序JAR文件都是有符號的,它們在控制台中輸出(對於每一個),如下所示:

Signing JAR: D:\MyCode\dist\lib\somejarfile.jar to D:\MyCode\dist\lib\somejarfile.jar as signFiles
Enter Passphrase for keystore: Enter key password for signFiles: 

注意: signFiles是我在Netbeans的Signing屬性中使用的別名。

在我的dist文件夾中創建以下文件:

  • LIB
  • jnlpcomponent1.jnlp
  • launch.html
  • launch.jnlp
  • README.TXT
  • 我的App.jar

我已將這些文件復制到托管在tomcat下的我的web文件夾,即C:\\ Program Files \\ Apache Software Foundation \\ Tomcat 7.0 \\ webapps \\ mywebapp。

我在IE和Firefox中運行以下URL: http:// mylaptop:8080 / mywebapp / launch.html

當我單擊launch.html中的按鈕以啟動JNLP文件時,拋出以下異常:

com.sun.deploy.net.FailedDownloadException: Unable to load resource: file:/C:/Users/panderson/AppData/Local/Microsoft/Windows/Temporary Internet Files/Content.IE5/B3UCQV8C/$$codebase/launch.jnlp
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(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.deploy.net.DownloadEngine.getResource(Unknown Source)
at com.sun.javaws.Launcher.updateFinalLaunchDesc(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$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

我的launch.jnlp文件包含以下內容:

<jnlp codebase="$$codebase" href="launch.jnlp" spec="1.0+">
...
<resources>
    <j2se version="1.6+"/>
    <jar href="My App.jar" main="true"/>
...

我不太清楚為什么它在Internet Explorer的臨時文件夾下尋找它...

...但我已經嘗試將jnlp href中的完整url放入launch.JNLP文件http:// mylaptop:8080 / mywebapp / launch.jnlp然后它拋出以下異常:

com.sun.deploy.net.FailedDownloadException: Unable to load resource: file:/C:/Users/panderson/AppData/Local/Microsoft/Windows/Temporary Internet Files/Content.IE5/DR2O6URQ/$$codebase/My App.jar

如果我然后將jar href更改為http:// mylaptop:8080 / mywebapp / My App.jar,則單擊launch.html中的按鈕以運行launch.JNLP文件時,將引發以下異常。

BadFieldException[ The field <jnlp>codebase has an invalid value: $$codebase,$$codebase]

任何幫助或想法?

干杯,

Andez

<jnlp codebase="$$codebase" href="launch.jnlp" spec="1.0+">

這些$$占位符值通常被轉換為servlet或類似功能合理的東西。

這被建議作為以下問題中的有用工具。

嘗試使用JaNeLA ,看看它是否發現您的JNLP文件有任何問題。

進一步仔細檢查並確保codebase URL與您的服務器/應用程序的URL匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM