Eclipse Luna在Ubuntu上创建新项目时崩溃

21

我在使用Eclipse Luna时遇到了一些问题。我从eclipse官网下载了tar.gz文件和Java JDK的tar.gz文件,然后将它们都解压缩,Eclipse可以正常打开,但是当我尝试创建新项目时,它就会崩溃。在终端中运行java -version命令告诉我我的版本是1.8.0_25,所以我认为Java应该没有问题。现在,无论我尝试创建哪种类型的项目,Eclipse都会打开相应的向导,然后整个应用程序就会崩溃。起初我是在KDE桌面下安装的,当Eclipse崩溃时,我收到以下错误信息:java: /build/buildd/gtk2-engines-oxygen-1.4.5/src/animations/oxygencomboboxdata.cpp:87: void Oxygen::ComboBoxData::setButton(GtkWidget*): Assertion '!_button._widget' failed因此,我决定安装xfce桌面环境来解决这个问题,因为oxygen是一个KDE主题。我卸载了Eclipse并在xfce下重新安装了它,但是仍旧出现相同的错误和行为。当我从命令行运行Eclipse时,启动时会出现以下异常:

java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26)
at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189)
at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144)
at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107)
at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)

还有人有什么其他尝试的想法吗?

2个回答

56
根据这个错误报告中的第20条评论:https://bugs.eclipse.org/bugs/show_bug.cgi?id=440660#c20,这似乎是GTK的一个bug,根据https://bugs.launchpad.net/ubuntu/+source/gtk2-engines-oxygen/+bug/1242801中提到的内容(也有类似Meld的问题报告)。那里提到的另一个解决方法是针对Oxygen,编辑已经存在的文件/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc并更改。
`GtkComboBox::appears-as-list = 1`

进入

`GtkComboBox::appears-as-list = 0`

这个解决方法对我有效。


这对我有用。谢谢。这让我疯了。 - Cerin
@Cerin 是的,我也是。我对此感到非常厌烦,一直在谷歌上搜索,直到找到了解决方案。这个SO答案是我最受欢迎的SO答案! :) - Amedee Van Gasse

1

1
在Ubuntu Trusty上,这显然需要升级libc:gtk2-engines-oxygen:amd64依赖于libstdc++6(> = 4.9);但是: 系统上的libstdc++6:amd64版本为4.8.4-2ubuntu1〜14.04。但是,切换到非氧气主题并简单地删除gtk2-engines-oxygen似乎可以解决问题。 - wu-lee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接