3

我在运行 JDK 7 的 OSX Mountain Lion 上安装了 Netbeans。一切正常。然后我的机器无缘无故崩溃了。在此之后,我再也无法打开 Netbeans。

如果我尝试从命令行启动 Netbeans:

/Applications/NetBeans/NetBeans 7.2.app/Contents/MacOS/netbeans

然后它工作正常。从那里我可以选择 Netbeans > About 并确认我的 userdir 和 cachedir 是:

User directory: /Users/<user>/Library/Application Support/NetBeans/7.2
Cache directory: /Users/<user>/Library/Caches/NetBeans/7.2

所以,我删除了这些目录并再次尝试,但是,我只能通过命令行启动 netbeans。

想法赞赏...

4

3 回答 3

3

在我看来,这根本不是 NetBeans 问题,而是捆绑包的问题,​​以至于 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_dir.app/Contents/{platform}/{CFBundleExecutable_value}。查看 CFBundleExecutable 应该会告诉您是否还有其他脚本用于启动应用程序,而不仅仅是 running netbeans

从这一点开始,您将不得不做更多的挖掘工作,但希望这些信息足以让您开始跟踪应用程序是如何从 OS X 启动器启动的。有关更多信息和更好的参考,请查看此链接,这是 Apple 的Info.plist.

最后,您应该注意所有应用程序的启动信息都被大量缓存;我听说如果您对 Info.plist 进行更改,您必须重命名应用程序包并将其重新命名,以便启动器拾取更改。

祝你好运!

于 2012-10-09T16:24:17.213 回答
1

这是一个想法:使用 Eclipse >=)

..但严重的是,Netbeans 的元数据/缓存数据文件中的某些内容已损坏。您清除了其中的几个,但其他地方可能还有其他。

尝试将快捷方式中的启动命令与您在控制台中输入的内容进行比较。他们是一样的吗?

于 2012-09-27T21:25:29.780 回答
1

要找到根本原因,我会检查 NetBeans 日志,详细信息请参见此处

/Users/yourname/Library/Application Support/NetBeans/7.2/var/log/messages.log


如果这没有帮助,我会将您的项目存档并在您的计算机上安装干净的 NetBeans,然后将存档的项目重新导入 NetBeans。

于 2012-09-27T21:27:33.357 回答