オンラインにしたいアプリケーションを開発しました。通常の jar (Web 開始用ではない) を生成すると、アプリケーションは問題なく動作します。
Netbeans での Web デプロイメントに使用する JNLP ファイルを生成しました。アプリケーションを Web Start で実行しようとすると、次の例外が発生します。
file:/C:/Users/Stefan/git/yt/WV/dist/Wetenschappelijke_Vorming.jar!/res/loading.svg does
not exist or could not be read java.net.MalformedURLException
問題の原因となっているコード:
loading = this.loadShape(this.getClass().getResource("/res/loading.svg").getPath());
ロードしようとしているファイルに関連するすべてのコードをコメントアウトすると、Webstart は問題なくアプリケーションを実行します (jar を確認したところ、ファイルは必要な場所にあります!)
JNLP ファイル内の画像を参照する必要はありますか? 私は少し困惑しており、解決策を探していましたが、解決策が見つからないようです。
これは、生成される JNLP ファイルです。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="file:/C:/Users/Stefan/git/yt/WV/dist/" href="launch.jnlp" spec="1.0+">
<information>
<title>Wetenschappelijke Vorming</title>
<vendor>Stefan</vendor>
<homepage href=""/>
<description>Wetenschappelijke Vorming</description>
<description kind="short">Wetenschappelijke Vorming</description>
</information>
<update check="always"/>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+"/>
<jar href="Wetenschappelijke_Vorming.jar" main="true"/>
<jar href="lib/controlP5.jar"/>
<jar href="lib/core.jar"/>
<jar href="lib/jsoup-1.7.2.jar"/>
<jar href="lib/pdfbox-app-1.7.1.jar"/>
<jar href="lib/mysql-connector-java-5.1.22-bin.jar"/>
<jar href="lib/ESAPI-1.4.5a.jar"/>
<jar href="lib/lucene-analyzers-common-4.2.0.jar"/>
<jar href="lib/lucene-core-4.2.0.jar"/>
<jar href="lib/lucene-demo-4.2.0.jar"/>
<jar href="lib/lucene-queryparser-4.2.0.jar"/>
<jar href="lib/commons-math3-3.1.1.jar"/>
<jar href="lib/lucene-queries-4.2.0.jar"/>
<jar href="lib/gson-2.2.3.jar"/>
<jar href="lib/deploy.jar"/>
<jar href="lib/jsse.jar"/>
<jar href="lib/management-agent.jar"/>
<jar href="lib/plugin.jar"/>
<jar href="lib/resources.jar"/>
<extension href="jnlpcomponent1.jnlp"/>
</resources>
<application-desc main-class="visualisation.Application">
</application-desc>
</jnlp>