为什么我的Eclipse Luna 4.4使用Oracle JDK8 64bit在Debian Wheezy 7.4上崩溃?

我在Oracle VirtualBox上安装了Debian GNU / Linux 7.4(wheezy)操作系统,并且:

java version "1.8.0_11" Java(TM) SE Runtime Environment (build 1.8.0_11-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode) 

我下载了Eclipse Luna 4.4。 当我尝试运行Eclipse时发生错误:

 A fatal error has been detected by the Java Runtime Environment: SIGSEGV (0xb) at pc=0x00007f9e8a42173f, pid=10942, tid=140319582553856 JRE version: Java(TM) SE Runtime Environment (8.0_11-b12) (build 1.8.0_11-b12) Java VM: Java HotSpot(TM) 64-Bit Server VM (25.11-b03 mixed mode linux-amd64 compressed oops) Problematic frame: C [libgdk-x11-2.0.so.0+0x5173f] gdk_display_open+0x3f Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java 

于是我在terminal上发了一个命令:

 $ ulimit -c unlimited $ ./eclipse 

但是发生了下一个错误:

 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 (java:11276): GLib-GObject-WARNING **: cannot register existing type `GdkDisplayManager' (java:11276): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (java:11276): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed (java:11276): GLib-GObject-WARNING **: invalid (NULL) pointer instance (java:11276): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (java:11276): GLib-GObject-WARNING **: invalid (NULL) pointer instance (java:11276): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (java:11276): GLib-GObject-WARNING **: cannot register existing type `GdkDisplay' (java:11276): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (java:11276): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (java:11276): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (java:11276): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed A fatal error has been detected by the Java Runtime Environment: SIGSEGV (0xb) at pc=0x00007f216d28473f, pid=11276, tid=139782222493440JRE version: Java(TM) SE Runtime Environment 

(8.0_11-b12)(build 1.8.0_11-b12)Java虚拟机:Java HotSpot(TM)64位服务器虚拟机(25.11-b03混合模式linux-amd64压缩的oops)有问题的帧:C [libgdk-x11-2.0。 so.0 + 0x5173f] gdk_display_open + 0x3f写入的核心转储。 默认位置:/ home / abcdef / ECLIPSE_JAVA / eclipse / core或者core.11276

我也尝试通过添加以下方法来解决这个问题:

 -Dorg.eclipse.swt.browser.DefaultType=mozilla 

到eclipse.ini,但它没有帮助。

有人可以帮我解决这个问题吗?

根据: https : //bugs.eclipse.org/bugs/show_bug.cgi?id = 430736

添加到2行eclipse.ini:

 --launcher.GTK_version 2 

选项–launcher.GTK_version应该 –launcher.appendVmargs 之前

问题(对话框不能正常工作)与TIBCOJaspersoft®Studio – 可视化设计器JasperReports:

编辑Jaspersoft Studio.ini像这样:

 -startup plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar --launcher.GTK_version 2 --launcher.library 

或者在启动Jasper Studio( runubuntu.sh )之前添加:

 export SWT_GTK3=0 

我在eclipse bugs页面找到了这个解决方案

导出SWT_GTK3 = 0

尝试像这样编辑你的eclipse.ini文件:

 -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326 -product org.eclipse.epp.package.java.product --launcher.defaultAction openFile -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile --launcher.GTK_version 2 --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms40m -Xmx512m 

在Debian Wheezy 7.6 64位上启动STS时,我遇到了与基于Eclipse的Sping Tool Suite(STS)和JDK 8相同的问题。 将其他答案建议的那两行添加到init文件sts.ini(eclipse.ini)中。

 -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326 -product org.springsource.sts.ide --launcher.defaultAction openFile --launcher.GTK_version 2 -vmargs -Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx768m 

在Debian Wheezy 7.8(64bit)上使用EclipseLuna 4.4.2 。 错误 harshrc上harshrc的评论是最相关的在我的情况下,并解决崩溃后启动画面。 用export SWT_GTK3=0启动eclipse

 # from CLI / prompt in eclipse folder: export SWT_GTK3=0 ; ./eclipse 

尝试使用-noSplash选项从命令行启动Eclipse。 你的错误看起来像这个错误 。

“–launcher.GTK_version 2”

这也适用于我。 Debian 7 + STS 4.4.1,我必须添加一行eclipse.ini添加ccer。

从Oracle 安装JDK 7之后,我修改了eclipse.ini,并将它指向Oracle的Java 7。 然后我阅读发布表单arash javan,并修改eclipse.ini指向正确版本的GTK。 在这两个mod之后,eclipse将在Debian 7中运行。如果你想使用JDK 8,我相信这个方法仍然可行。

 -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326 -product org.eclipse.epp.package.jee.product --launcher.defaultAction openFile -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile --launcher.GTK_version 2 -vm /opt/jdk/jdk1.7.0_67/bin/java -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms40m -Xmx512m