我的桌面上有一个 Mac OS X 10.4 上的应用程序包。我的应用程序查找一个名为“resources”的文件夹,其中保存要显示的文件(与可运行的 JAR 保存在同一位置)。我知道应用程序包中也有一个名为“Resources”的文件夹,抱歉,如果这令人困惑,但我从未在 Mac 上编程,也不知道这会是相同的名称。
在 Windows 中,当我调用 System.getProperty("user.dir")
时我获取了可运行 JAR 文件所在的位置。正是我想要的。
为什么当我运行应用程序包时 getProperty 返回“/”?就这样。我希望它返回类似“/Users/user_name/Desktop”的内容...这是我的应用程序包所在的位置。
最佳答案
我使用系统属性“user.home”而不是“user.dir”。这样我就不必担心 JVM 在哪里查找。我让应用程序包直接使用 bash 脚本引用我的 jar 文件作为 info.plist 文件调用的可执行文件。我始终可以将应用程序要显示的文件放在用户主页上,因为该位置始终会返回路径。
关于Mac OS X 上的 Java System.getProperty ("user.dir"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936714/