次のコードを含むプログラムがあります。
import java.io.File;
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
File file = new File("config");
JOptionPane.showMessageDialog(null, file.getAbsolutePath());
System.out.println(file.getAbsolutePath());
}
}
これをEclipseでRunnable Jarとしてエクスポートします。/home/username/Desktop/
次に、ファイルをUbuntu 13.04 システムとそのディレクトリにコピーしますcd
。コマンドを実行するとjava -jar Main.jar
、次の出力が得られます。
/home/username/Desktop/config
ここで、chmod を実行して Jar を実行可能にし、Jar をダブルクリックします。ダイアログから次の出力が得られます。
/home/username/config
異なる出力が得られるのはなぜですか? Jar を他のディレクトリに移動すると、同様の結果になります。グーグルと検索SOは、この問題に光を当てていません。