0

そこで、Slick 2D を使用して作成した小さなアプレットを自分の Web サイトで実行しようとしています。次の HTML を作成し、サイトの新しいページに配置しました。

    <applet code="org.lwjgl.util.applet.AppletLoader" 
    archive="lwjgl_util_applet.jar" 
    codebase="." 
    width="800" height="600">

    <param name="al_title" value="myslickgame"> 
    <param name="al_main" value="org.newdawn.slick.AppletGameContainer"> 
    <param name="game" value="org.defaultpackage.main">

    <param name="al_jars" value="spacewalk.jar, lwjgl.jar, slick.jar"> 

    <param name="al_windows" value="windows_natives.jar"> 
    <param name="al_linux" value="linux_natives.jar"> 
    <param name="al_mac" value="macosx_natives.jar"> 

    <param name="separate_jvm" value="true"> 
    </applet> 

ただし、そのページをロードするたびに、クラスが見つからないというエラーが発生します。lwjgl.util.applet JAR とアプレット JAR を public_html フォルダーに追加しましたが、まだそれらを読み取っていないようです。それが重要な場合、そのワードプレスサイト。WordPressがページのデータを保存する場所を見つけようとしたので、そのフォルダーにJARを貼り付けることができましたが、そのような運はありませんでした。助けてくれる人はいますか?前もって感謝します

4

1 に答える 1

0

これはおそらく、Webサイトにもネイティブjarファイルが必要なためだと思います(使用しているオペレーティングシステム用)。

jarファイル(または少なくともオペレーティングシステム用のファイル)があることを確認してください。

<param name="al_windows" value="windows_natives.jar"> 
<param name="al_linux" value="linux_natives.jar"> 
<param name="al_mac" value="macosx_natives.jar">

htmlファイルと同じディレクトリにあります。

このjarを作成するためのファイルはlwjglnativesフォルダー内にあり、windows_natives.jarには次のファイルが含まれている必要があります。

jinput-dx8.dll
jinput-dx8_64.dll
jinput-raw.dll
jinput-raw_64.dll
lwjgl.dll
lwjgl64.dll
OpenAL32.dll
OpenAL64.dll

それらを新しい.zipフォルダーに入れて、名前を.jar拡張子に変更するだけです。他のネイティブjar(linux、mac、solaris)には、lwjglディストリビューションのそれぞれのネイティブファイルが含まれている必要があります。

lwjglを使用するための私のフォルダ構造は次のようになります。

index.html
jinput.jar
linux_natives.jar
lwjgl.jar
lwjgl_util.jar
lwjgl_util_applet.jar
mjgame.jar (the java game jar)
slick-util.jar
windows_natives.jar

これが問題の答えではない場合は、受け取った例外のコピーを投稿して、この問題をさらにデバッグすることができます。

また、ファイルが正しく設定されているかどうかをテストするために、ファイルをWebサイトにアップロードする必要はありません。ローカルディスクからインターネットブラウザでhtmlファイルを開くだけで、機能するはずです。

私はこれが理解するのにどれほど苛立たしいことか知っています、なぜ私が最初にこれを正しくしなかったのかを理解するのに1週間かかりました。

幸運を!


- 編集 -

jarファイルにも署名する必要があると確信しています。そうしないと、画面が真っ暗になる可能性があります。JavaSDK binフォルダーのkeytoolとjarsignerを使用する必要があります。これは、次のようになります。

C:/Program Files/Java/jdk1.7.0_07/bin

jarファイルの署名に関するチュートリアルページは次のとおりです。

https://www.owasp.org/index.php/Signing_jar_files_with_jarsigner

(私が理解していることから)証明書情報を保存するために、最初にキーストアファイルを作成する必要があります。これは次のコマンドで実行できます。

keytool -genkey -keystore testkeystore -alias bob

^testkeystore-証明書情報が保存されるファイルです^bob-決定したエイリアス名

次に、jarsignerツールを使用してjarファイルに署名できます。

jarsigner -keystore testkeystore -signedjar mysignedjar.jar targetjar.jar bob

^targetjar.jar-署名するjarファイル^mysignedjar.jar-targetjar.jarの署名付きコピーとなる出力jarファイル

上から持っていたファイル構造から、すべてのjarファイルに署名しました。

jinput.jar
linux_natives.jar
lwjgl.jar
lwjgl_util.jar
lwjgl_util_applet.jar
mjgame.jar (the java game jar)
slick-util.jar
windows_natives.jar

これにより、すべてのjarファイルに署名した後の空白画面の問題が解決するはずです。それがうまくいかない場合は、フィードバックを残してください。これを理解し、ステップバイステップの回答を書くかもしれません。

于 2012-11-27T14:05:57.500 に答える