私は現在、Legend of Zork (開発タイトル) というタイトルのゲームを書いています。これは主に、コードの作成と Java のより深いレベルの学習に忙殺されているためです。しかし、私は特定のタスクで立ち往生しています。含まれているフォルダーを自分のコンピューター、他の人のコンピューター、またはフラッシュドライブの任意の場所にコピーして、機能させたいと考えています。プログラムを Jar にコンパイルするときは、コードが必要なファイル (音楽やスプレッドシートなど) を使用できるように、フォルダーへのパスを指定する必要があります。私は次のことを試みました:
String dir = System.getProperty("user.dir") + "/resources/";
これにより、Eclipse 内の適切なパス (「/media/MOTHLACHAIN/LegendOfZork/resources/」、ワークスペースとして使用するサム ドライブ) が提供され、完全に実行されますが、jar をビルドして実行すると、実行されません。 FileNotFoundException に。ターミナルで、ファイルを参照するクラスを含めない場合に機能する「java -jar LegendOfZork.jar」と入力すると、「/home/viktor/resources/Weapons.xls」を探していると表示されます。 「/home/viktor/LegendOfZork/resources/Weapons.xls」の場合、またはデスクトップから実行している場合は、「/home/viktor/Desktop/LegendOfZork/resources/Weapons.xls」などを探す必要があります。私のプログラムのフォルダー階層は次のとおりです
。1.
- 資力
LegendOfZork フォルダーは、jar ファイルが含まれている場所で、プログラムを配置したい場所であり、リソースは、たとえば、スプレッドシートにアクセスしたい場所です。
どんな助けでも大歓迎です。よろしくお願いします!