1

jnlp 経由でアプリケーションを実行しようとしています。サーバーにアプリをデプロイする前に、jnlp ファイルをローカルでテストしようとしています。対応するプラットフォームのすべての swt ライブラリは自己署名されており、jnlp ファイルと同じディレクトリにあります。私のアプリケーション jmf.jar と jl1.0.1 に必要な追加の jar もここにあります。私はそれらを次のように参照しています

<resources>
    <java version="1.5" />
    <jar href="MyBaran.jar"/>
    <nativelib href="jl1.0.1.jar" download="eager"/>
    <nativelib href="jmf.jar" download ="eager"/>   
</resources>

私のメインアプリケーションjar(MyBaran.jar)は次の構造を持っています

MyBaran.jar  
-com  
--game  
---Main.class  
---Game.class  
...
---Character.class
-images  
--test.jpg  
--sound.wav  
...  
--forrest.mid  
-META-INF  
--MANIFEST.MF  
--...    
-.project  
-.classpath  

私はEclipseエクスポートでそれを生成しました - > jarファイルツールだから私のアプリケーションはWindows上で起動しませんJavaはセキュリティの質問をします、私はそれがいくつかのjarをダウンロードすることを受け入れますここにトレースファイルからの出力があります

CacheEntry[file:/H:/Program Files/Java/jdk1.7.0_13/bin/swt-win32-windows-x86.jar]:     updateAvailable=false,lastModified=Mon Feb 04 17:48:22 GMT+03:00 2013,length=2048373  
CacheEntry[file:/H:/Program Files/Java/jdk1.7.0_13/bin/jmf.jar]: updateAvailable=false,lastModified=Tue Feb 05 10:32:17 GMT+03:00 2013,length=1969383  
CacheEntry[file:/H:/Program Files/Java/jdk1.7.0_13/bin/MyBaran.jar]:   updateAvailable=false,lastModified=Tue Feb 05 13:59:24 GMT+03:00 2013,length=5924842  
CacheEntry[file:/H:/Program Files/Java/jdk1.7.0_13/bin/jl1.0.1.jar]:   updateAvailable=false,lastModified=Tue Feb 05 10:31:30 GMT+03:00 2013,length=112570    

swt jarをロードしているように見えます
が、それでもアプリケーションを開始できないため、jar内にパッケージ化されたすべてのライブラリを使用してEclipseで実行可能なjarファイルを生成する必要があります。この場合、jnlpファイルをどのように記述すればよいですか

ここに私の現在のjnlpファイルがあります

<?xml version="1.0" encoding="utf-8"?>  
<jnlp spec="1.5" href="mybaran.jnlp">  
<information>
    <title>Garbage Collector Game</title>  
    <vendor>Java Tester</vendor>  
    <homepage href="" />  
    <description>Garbage Collector Game</description>  
    <description>Garbage Collector Game</description>   
</information>
<security>
    <all-permissions />
</security>

<resources>
    <java version="1.5" />
    <jar href="MyBaran.jar"/>
    <nativelib href="jl1.0.1.jar" download="eager"/>
    <nativelib href="jmf.jar" download ="eager"/>   
</resources>

<resources os="Windows" arch="x86">
    <jar href="swt-win32-windows-x86.jar" />
</resources>

<resources os="Windows" arch="x86_64">
    <jar href="swt-win32-windows-x86_64.jar" />
</resources>

<resources os="Windows" arch="amd64">   
    <jar href="swt-win32-windows-x86_64.jar" />
</resources>

<resources os="Linux" arch="x86_64">
    <jar href="swt-gtk-linux-x86_64.jar" />
</resources>

<resources os="Linux" arch="amd64">
    <jar href="swt-gtk-linux-x86_64.jar" />
</resources>

<resources os="Linux" arch="x86">
    <jar href="swt-gtk-linux-x86.jar" />
</resources>

<resources os="Mac" arch="x86_64">
    <jar href="swt-cocoa-mac-x86_64.jar" />
</resources>

<resources os="Mac" arch="amd64">
    <jar href="swt-cocoa-mac-x86_64.jar" />
</resources>

<resources os="Mac" arch="x86">
    <jar href="swt-cocoa-mac-x86.jar" />
</resources>

<application-desc main-class="com.game.Main"/>
</jnlp>
4

1 に答える 1

1

1) Andrew Thomphson による JaNeLa を使用て、jnlp ファイルを検証できます。

2)<java version="1.5" />

に変更する必要があるかもしれません

<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>

それはすべてのチュートリアルにあります。

3)<nativelib href="jl1.0.1.jar" download="eager"/>

nativelibよくわかりませんが、Cライブラリ用だと思います。変更してみてくださいjar

download="eager"はデフォルト値なので指定しても意味がない

4)「だから、jar内にパッケージ化されたすべてのライブラリを使用して、Eclipseで実行可能なjarファイルを生成する必要があります」

いいえ、これは jnlp アプレットが展開されるはずの方法ではありません。

JNLP ファイルの構文

Java Web Start アプリケーションのデプロイ

于 2013-02-05T15:00:44.893 に答える