java - 如何设置从我的 Java 应用程序启动的 MacOS 应用程序包的工作目录?

标签 java macos working-directory .app

我已经在此站点和 Google 上进行了一些搜索,但未能找到任何信息。我有一个在 Mac OS 中启动 .app 文件的 Java 应用程序。现在我明白了 .app 扩展名并不是真正的可执行文件,而是一个应用程序包,它在“/Contents/MacOS/”子目录中包含可执行文件。

在我的示例中,我将使用应用程序“/Applications/Chess.app”。所以在这种情况下,实际的可执行文件位于“/Applications/Chess.app/Contents/MacOS/”

是否只是将工作目录设置为“/Applications/Chess.app/Contents/MacOS/”的问题?

最佳答案

Mac 应用程序通常不能依赖于被设置为任何特定的工作目录。 Xcode 将其设置为一种方式,从 Finder 启动将其设置为另一种方式(通常为/)。

但是,您不应仅通过在 Contents/MacOS 中执行二进制文件来运行应用程序。您应该使用 Launch Services 或 NSWorkspace(或者,如果其中任何一个失败,/usr/bin/open)来启动它们。

关于java - 如何设置从我的 Java 应用程序启动的 MacOS 应用程序包的工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10015770/

相关文章:

java - 如何创建基于条件的多重过滤器并返回非 boolean 值?

vim 设置工作目录

windows - Vim:更改启动目录?

java - 我的工作目录、文件和 url

仅 Java 项目不在 Android Studio 中添加依赖项

java - 在实现另一个类接口(interface)的类中使用属​​性

java - 如何使用java打印起始行号

c++ - clang : error: unknown argument: '-fno-leading-underscore'

xcode - 如何在持续集成上对 macOS 应用程序进行代码签名

java - rJava、mac 10.12.6 和 Java v 9(R 版本 3.4.1)的问题