私はウィキのチュートリアル セクションで提供されている Asteroids Game のサンプル コードに取り組んでいましたが、奇妙なエラーに遭遇しました。
このコードは、私の開発環境である Eclipse で問題なく動作します。ゲームはエラーなしで実行され、正常に終了します。
ファイル メニューでエクスポート プロセスを実行し、このバッチ ファイル コードで実行される実行可能 jar を作成します。
java -Djava.library.path=D:\Tools\lwjgl-2.8.4\lwjgl-2.8.4\native\windows -jar SpaceInvaders.jar
表示を開始し、wav ファイルをロードしようとすると失敗します。このエラーを出します。
Exception in thread "main" java.lang.NullPointerException
コードのどこでこれが起こっているかを追跡しました.wavがロードされている場所です. ファイルがコードのすぐ隣にあるにもかかわらず、明らかに環境の外ではファイルを見つけることができませんか? 私のすべてのwavファイルとgifファイルは、現在Javaクラスファイルと同じディレクトリにあるため、コードからそれらを呼び出すと次のようになります。
Googleで検索すると、それらを別のファイルに圧縮してから、クラスフォルダーにインポートしてそこから参照するように指示されます。別のエンティティを作成する代わりに、ファイルをメインの jar ファイル内に保持する方法があるかどうか疑問に思っていました。
返信ありがとうございます。さらに情報が必要な場合はお知らせください。