All
У меня возникли проблемы с запуском java-приложения для веб-запуска, созданного Netbeans 7.
Я перенес свое существующее приложение java 6.9.1 в Netbeans 7 и попытался сделать его приложением для запуска через Интернет.
Для этого я установил опцию Включить веб-запуск в свойствах проекта.
Для опции кодовой базы у меня выбрано Развертывание веб-приложения.
Параметр «Дескриптор приложения» выбран, который будет указывать элемент 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.
В моей папке dist созданы следующие файлы:
- Lib
- jnlpcomponent1.jnlp
- launch.html
- launch.jnlp
- README.TXT
- My App.jar
Я скопировал их в мою веб-папку, которая находится в папке tomcat, которая находится в C: \ Program Files \ Apache Software Foundation \ Tomcat 7.0 \ webapps \ mywebapp.
Я использую следующий URL в IE и Firefox:
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 его ...
... Но я попытался поместить полный URL-адрес в jnlp href в файл 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