1

Java プロジェクトをエクスポートして実行しました。最初はダブルクリックしても機能しませんでしたが、いくつかの調査でこのソリューションに出会いました

私がしたことは、次のようなバッチ ファイル jax.bat を作成することでした。次に、.jar ファイルを jax.bat に関連付けます。

その後、問題は解決したように見えました。ただし、友人のコンピューターで実行しようとすると、コマンド プロンプトから実行すると期待どおりにファイルに書き込みが行われることがわかりましたが、ダブルクリックして実行すると、書き込みが行われませんでした。ファイルライターのコードは次のとおりです

File writeTo = new File("Destinations.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(writeTo),32768);
//Some lines later
bw.write("The price is $"+ prices.get(lowest)+" travelling to "+ places.get(i)+" on "+ month+"/"+day);
bw.newLine();
          }
bw.close();

編集: String workingDir を追加してみました...そして彼のコンピューターで実行しました。メッセージが表示されましたが、ファイルは Windows/System32 にあるとのことでした

Edit2: Eclipse から実行可能な jar をエクスポートするだけで、jar ファイルを作成しました。

4

1 に答える 1

0

ダブルクリックで JAR を実行すると、おそらく作業ディレクトリに奇妙なことが起こっています。ファイルは現在の作業ディレクトリに書き込まれ (パスを指定しなかったため)、探している場所ではない可能性があります。次のようにして、現在の作業ディレクトリを取得できます。

// Get the current working directory
String workingDir = System.getProperty("user.dir");
// Display workingDir in a Swing message dialog window
JOptionPane.showMessageDialog(null, workingDir);

Destinations.txtは、 で示されるディレクトリに表示されworkingDirます。

一方、ダブルクリックでプログラムを起動したときに実際にプログラムが正しく実行されていないことが問題である場合は、メッセージ ダイアログが表示されないことから明らかです。

于 2013-07-08T01:49:06.827 に答える