Я только начинаю создавать приложение Java Web Start. Я не могу правильно развернуть его локально, так как продолжаю получать следующее исключение

Я следую следующим руководствам по JWS

А) Официальная документация по Java

Б) Java Web Start (Jnlp), пример Hello World

Я сделал следующие шаги:

1. Упаковал мои файлы .class в исполняемую банку.

2. Подписал банку

3. Создал файл jnlp

4. Создал html файл

Поместили банку, jnlp и html-файл в один каталог JWS и вызвали html-файл.

JWS\

Demo.jar
NewFile.html
Test.jnlp

Мой файл Test.jnlp выглядит так:

 <?xml version="1.0" encoding="utf-8"?>
    <jnlp spec="1.0+" codebase="http://localhost:8080/" href="Test.jnlp">
        <information>
            <title>Jnlp Testing</title>
            <vendor>SUM</vendor>
            <homepage href="http://localhost:8080/" />
            <description>Testing Testing</description>
        </information>
        <security>
            <all-permissions/>
        </security>
        <resources>
            <j2se version="1.6+" />
            <jar href="Demo.jar" />
        </resources>
        <application-desc main-class="com.mytest.TestJnlp" />
    </jnlp>

Основное исключение:

com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://localhost:8080/Test.jnlp
    at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
    at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source)
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
    at com.sun.deploy.cache.ResourceProviderImpl.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.access$000(Unknown Source)
    at com.sun.javaws.Main$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Обернутое исключение:

java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.net.NetworkClient.doConnect(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.<init>(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
    at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
    at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
    at com.sun.deploy.net.BasicHttpRequest.doGetRequest(Unknown Source)
    at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
    at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source)
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
    at com.sun.deploy.cache.ResourceProviderImpl.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.access$000(Unknown Source)
    at com.sun.javaws.Main$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
0
rockstar 30 Июл 2013 в 10:14
Измените codebase = "localhost: 8080" на codebase = "localhost: 8080 / JWS" в jnlp это может работать
 – 
pundit
30 Июл 2013 в 10:24
Вы можете включить ведение журнала отладки в консоли java и получить дополнительную информацию.
 – 
Thorbjørn Ravn Andersen
30 Июл 2013 в 10:29
Трюк не работает :(
 – 
rockstar
30 Июл 2013 в 10:58

1 ответ

Лучший ответ

Хорошо, я смог решить эту проблему.

Я понял, что самый простой способ начать - использовать Netbeans IDE. Преимущество использования Netbeans заключается в том, что он предлагает отличную поддержку для создания веб-приложений Java. Например, подписание jar-файлов и получение правильной конфигурации файла .jnlp может быть настоящей проблемой. Netbeans, с другой стороны, автоматически генерирует оба этих файла и, следовательно, избавляет от ошибок.

Первоначально я также пробовал использовать eclipse для того же самого, но обнаружил, что eclipse очень утомителен и подвержен ошибкам. Я бы рекомендовал использовать Netbeans при создании приложений Java Web Start. Это руководство должно помочь вам начать работу в кратчайшие сроки.

Включение Java Web Start в IDE NetBeans

-1
rockstar 31 Июл 2013 в 12:56