我突然无法打开Eclipse。当我尝试时,日食加载屏幕会出现一分钟:
然后我收到此错误消息: "发生错误。请参阅日志文件{日志文件的路径}"
当我检查日志文件时,我发现根本原因是找不到WToolkitHookQTJA类:
java.lang.NoClassDefFoundError: com/mercury/ftjadin/hooks/interfaces/WToolkitHookQTJA
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:297)
at org.eclipse.swt.widgets.Shell.internal_new(Shell.java:419)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.ui.internal.WorkbenchPlugin.getSplashShell(WorkbenchPlugin.java:1360)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:114)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
引起:java.lang.ClassNotFoundException:org.eclipse.swt_3.103.1.v20140903-1938找不到com.mercury.ftjadin.hooks.interfaces.WToolkitHookQTJA 在org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:432) 在org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345) 在org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337) 在org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160) 在java.lang.ClassLoader.loadClass(ClassLoader.java:357)
我怀疑发生这种情况的原因是因为我的系统路径上有两个javas,最近我不得不在系统路径中首先出现jdk8(那是不在System32中的那个)为了让别的东西正常工作。当我打开cmd并输入where java
时,我得到:
C:\Program Files\Java\jdk1.8.0_31\bin\java.exe
C:\Windows\System32\java.exe
所以我的问题是:如果没有(a)将jdk8移动到System32 java之后,以及(b)不重新安装eclipse,我怎样才能再次打开eclipse?
答案 0 :(得分:1)
答案 1 :(得分:0)
尝试删除_JAVA_TOOL_OPTIONS等环境变量。 请参阅专门针对在Eclipse https://www-304.ibm.com/support/docview.wss?uid=swg21656363
上构建的Rational应用程序开发人员的技术说明答案 2 :(得分:-2)
我遇到了同样的问题。
<强>解决方案:强> -
卸载java。安装新版本的java。设置java路径。重新启动系统(打开cmd,检查java是否已正确安装)。现在启动Eclipse。