0

突然 Eclipse を開けなくなりました。試してみると、Eclipse の読み込み画面が 1 分間表示されます。 エクリプスの読み込み

次に、「エラーが発生しました。ログ ファイル {ログ ファイルへのパス} を参照してください」というエラー メッセージが表示されます。

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: com.mercury.ftjadin.hooks.interfaces.WToolkitHookQTJA が org.eclipse.swt_3.103.1.v20140903-1938 で 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) at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

これが発生している理由は、システム パスに 2 つの Java があるためだと思われます。最近、システム パスで 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 を再度開くにはどうすればよいですか?

4

3 に答える 3

1

で JV​​Mを指定してみてくださいeclipse.ini:

-vm
C:\Java\JDK\1.6\bin\javaw.exe

(または、私の記憶が正しければ、コマンド ラインで同じ構文を使用している可能性があります)

于 2015-02-12T16:50:55.027 に答える
0

_JAVA_TOOL_OPTIONS などの環境変数を削除してみてください。Eclipse 上に構築された Rational アプリケーション開発者向けの技術情報を参照してくださいhttps://www-304.ibm.com/support/docview.wss?uid=swg21656363

于 2015-10-08T12:54:25.120 に答える