OS X更新到10.6.3后,Eclipse Galileo无法启动

时间:2010-03-30 09:11:21

标签: java eclipse macos osx-snow-leopard

我刚刚将os x更新为10.6.3并且没有Eclipse不会启动日志显示以下错误,但我无法弄明白。任何人都可以放弃任何光明吗?

!SESSION 2010-03-30 10:06:38.244 -----------------------------------------------
eclipse.buildId=M20090917-0800
java.version=1.6.0_17
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86, WS=cocoa, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.php.product -keyring /Users/gav/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86 -product org.eclipse.epp.package.php.product -keyring /Users/gav/.eclipse_keyring -showlocation

!ENTRY org.eclipse.ui.workbench 2 0 2010-03-30 10:06:40.139
!MESSAGE A handler conflict occurred.  This may disable some commands.
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2010-03-30 10:06:40.139
!MESSAGE Conflict for 'com.aptana.ide.editors.views.actions.actionKeyCommand':
HandlerActivation(commandId=com.aptana.ide.editors.views.actions.actionKeyCommand,
 handler=com.aptana.ide.editors.views.actions.ActionKeyCommandHandler,
 expression=,sourcePriority=0)
HandlerActivation(commandId=com.aptana.ide.editors.views.actions.actionKeyCommand,
 handler=com.aptana.ide.editors.views.actions.ActionKeyCommandHandler,
 expression=,sourcePriority=0)

!ENTRY org.eclipse.ui 4 0 2010-03-30 10:06:40.964
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
 at org.eclipse.swt.graphics.Device.getFontList(Device.java:369)
 at org.eclipse.jface.resource.FontRegistry.filterData(FontRegistry.java:465)
 at org.eclipse.jface.resource.FontRegistry.createFont(FontRegistry.java:499)
 at org.eclipse.jface.resource.FontRegistry.defaultFontRecord(FontRegistry.java:563)
 at org.eclipse.jface.resource.FontRegistry.defaultFontData(FontRegistry.java:575)
 at org.eclipse.jface.resource.FontRegistry.getFontData(FontRegistry.java:591)
 at org.eclipse.ui.internal.themes.ThemeElementHelper.installFont(ThemeElementHelper.java:116)
 at org.eclipse.ui.internal.themes.ThemeElementHelper.populateRegistry(ThemeElementHelper.java:59)
 at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1482)
 at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3405)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3102)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2316)
 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
 at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

看起来这个更新可能已经升级了Java版本,可能是:S但我不知道这是否可以回滚,即使它确实更新了它。

java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode)

提前致谢!

4 个答案:

答案 0 :(得分:0)

以下链接可能有所帮助,这也说明了一些类似的问题

https://aptanastudio.tenderapp.com/discussions/problems/331-apatnaeclipse-fail-to-start-on-ma-os-1061

答案 1 :(得分:0)

更新到10.6.3后,我遇到了与eclipse相同的问题。

删除sreejith指示的那些文件对我不起作用,但请注意,我没有重启我的Mac。相反,我去寻找更多的建议,并在Apple支持论坛中找到一些说删除这些文件,但也发出以下两个命令来清除字体缓存

“atsutil databases -removeUser”

“sudo atsutil databases -remove”

仅这些对我来说不起作用。我做了一些谷歌搜索,并找到了一个网站,解释了如何清除Leopard中的字体缓存:

http://www.macworld.com/article/139383/2009/03/fontcacheclear.html

它重复了两个“atsutil”命令,但添加了另一个重新启动fontd的命令:

“atsutil server -shutdown”

和另一个检查fontd已重生:

“atsutil server -ping”

这就是最终让eclipse再次为我工作的原因 - 无需重启!

答案 2 :(得分:0)

这四个命令对我不起作用。 : - (

我必须启动Font Book并解决所有重复的字体。 步骤进行:

1)选择所有字体

2)从权利列表中选择所有字体

3)右键单击并选择Resolve Duplicates

4)如果某些字体系列名称旁边仍然只有很少的黄色三角形,请打开这些字体系列,并禁用其旁边带有警告标志的字体。

5)一旦没有更多警告标志关闭Font Book并打开Eclipse。

我希望这会有所帮助。

-Alex

问题详情:

看起来10.6.3增加了大量的重复字体。据我所知,这些重复的字体导致了java为获取字体系列中的字体而进行的本机调用的问题。请参阅下面的Eclipse代码:

NSArray fonts = NSFontManager.sharedFontManager().availableMembersOfFontFamily(nsFamily);
int fontCount = (int)/*64*/fonts.count(); //this line was giving the null pointer which means the variable fonts was null. This indicates that there is an issue with the FontManager

答案 3 :(得分:0)

除了手动删除文件之外,还有一种更优雅的方式。有关分步说明,请参阅How to fix FDT (or any other Eclipse-based IDE) after Mac OS X 10.6.3 upgrade