我在运行 JDK 7 的 OSX Mountain Lion 上安装了 Netbeans。一切正常。然后我的机器无故崩溃了。之后我再也无法打开 Netbeans。
如果我尝试从命令行启动 Netbeans:
/Applications/NetBeans/NetBeans 7.2.app/Contents/MacOS/netbeans
然后它工作正常。从那里我可以选择 Netbeans > 关于并确认我的 userdir 和 cachedir 是:
User directory: /Users/<user>/Library/Application Support/NetBeans/7.2
Cache directory: /Users/<user>/Library/Caches/NetBeans/7.2
所以,我删除了这些目录并再次尝试,但是,唉,我只能通过命令行启动 netbeans。
赞赏的想法...
最佳答案
在我看来这根本不是 NetBeans 的问题,而是 bundle 的问题,因此 OS X 没有按应有的方式启动应用程序。
为了验证,我会尝试从命令行通过 Finder 打开 NetBeans:
open -a "NetBeans 7.2.app"
此命令将要求系统启动器打开应用程序,就好像您已单击该图标一样。在你的情况下,它可能不会打开。如果这是真的,那么您就知道不是您的终端环境中的某些东西允许 NetBeans 启动。
我要采取的下一步是查看包内容:检查 /Applications/NetBeans/NetBeans 7.2.app/Contents/Info.plist
是否有任何问题 - 这个文件是 OS X 寻找的信息存储,以查看如何启动包、它的图标是什么等等... - 特别是,我认为您应该查看 CFBundleExecutable
值以查看什么命令用于启动应用程序。如果它不是 netbeans
,您会发现一个很大的暗示可能有什么不对劲:设置了 bundle ,以便启动器应该运行 bundle_dir.app/Contents/{platform}/{CFBundleExecutable_value}
。查看 CFBundleExecutable 应该会告诉您是否有一些其他脚本用于启动应用程序,而不仅仅是运行 netbeans
。
从现在开始,您将不得不进行更多挖掘,但希望这些信息足以让您开始追踪应用程序是如何从 OS X 启动器启动的。有关更多信息和更好的引用,请查看 this link ,这是 Apple 的 Info.plist
键文档。
最后,您应该注意到所有应用程序的启动信息都被大量缓存;我听说如果您对 Info.plist 进行更改,则必须重命名应用程序包并将其重新命名才能让启动器接收更改。
祝你好运!
关于java - Netbeans 7.2 无法在 OS X 上打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12630218/