我正在尝试将 Java 应用程序编译成 Mac OS X 应用程序包。我添加以下设置来设置当前工作目录:
<bundleapp...>
...
<option value="-Duser.dir=$APP_ROOT/Contents/Resources"/>
</bundleapp>
在 Contents/Resources/ 中有一个配置目录。
执行它时,我得到了这个奇怪的行为:
new File("config/").exists()
返回假
new File("config/").getAbsolutePath()
返回 /path/to/bundled/app/MyApp.app/Contents/Resources/config
new File("config/").getAbsoluteFile().exists()
返回真
我不知道为什么会发生这种情况,我想防止在我的代码中到处添加 getAbsoluteFile() 。
对此有什么想法吗?
(注意:我使用的是 Oracle JDK 8)