Java アプリケーションを Mac OS X アプリ バンドルにコンパイルしようとしています。次の設定を追加して、現在の作業ディレクトリを設定します。
<bundleapp...>
...
<option value="-Duser.dir=$APP_ROOT/Contents/Resources"/>
</bundleapp>
Contents/Resources/ に config ディレクトリがあります。
それを実行すると、次の奇妙な動作が発生します。
new File("config/").exists()false を返します
new File("config/").getAbsolutePath()/path/to/bundled/app/MyApp.app/Contents/Resources/config を返します
new File("config/").getAbsoluteFile().exists()true を返します
なぜこれが起こるのかわかりません。コードのどこにでも getAbsoluteFile() を追加したくないのです。
これについて何か考えはありますか?
(注: Oracle JDK 8 を使用しています)