因此,根据我对 Mac 打包的一点了解,我看到启动的实际程序是在 Info.plist 中的 CFBundleExecutable 键下定义的程序。
<key>CFBundleExecutable</key>
<string>JavaApplicationStub</string>
现在,如果 /APP/Content/MacOS/JavaApplicationStub 不是 chmodded +x,我的应用程序将无法工作(它只是默默地失败而没有做任何事情,这很痛苦!)。很公平,我猜它是不可执行的。但是,如果您从不支持文件上的 +x 属性的地方复制应用程序,那将是一个大问题;例如 windows、fat32 USB 密钥、CDROM、网站、zip 文件等...
在这些情况下我可以做些什么来使应用程序能够运行?手动设置执行位不是一种选择。
至少会有人从 CD 上运行 Mac 应用程序!