いくつかのJavaファイル、いくつかの画像を含む画像フォルダー、およびいくつかのテキストファイルを含むデータフォルダーで構成されるプロジェクトを作成しました。プログラムをコンパイルしてターミナルで実行すると、すべてが完全に機能します。私はそれをjarファイルに変換しようと決心したので、マニフェストファイルを使用するなど、多くの調査の結果、なんとか実行できました。これが私がそれをするためにターミナルにタイプするものです:
jar cvfm Program.jar manifest.txt *.class images data
この出力を与える:
added manifest
adding: a.class (in = 500) (out = 500) (deflated 50%)
adding: b.class (in = 500) (out = 500) (deflated 50%)
adding: images/ (in = 0) (out = 0) (stored 0%)
adding: images/a.png (in = 500) (out = 500) (deflated 50%)
adding: images/b.png (in = 500) (out = 500) (deflated 50%)
adding: data/ (in = 0) (out = 0) (stored 0%)
adding: data/a.txt (in = 500) (out = 500) (deflated 50%)
目立つのは、in、out、stored=0のimages/とdata/だけです。
これは機能し、jarファイル内のすべてのファイルを正しくリストします。jarファイルは、プログラムの正しいディレクトリにある場合でも完全に実行されますが、そのディレクトリから削除すると、リソースファイル(画像とデータ)が見つからなくなり、理由がわかりません。コードでそれらを参照している方法や、リソースファイルが適切に添付されていない方法である可能性がありますが、よくわかりません。私のマニフェストファイルは次のもので構成されています。
Manifest-Version: 1.0
Main-Class: Strike
どんな助けでもいただければ幸いです。