eclipse启动出现“An Error has Occurred. See the log file”解决方法

时间:2022-01-21 21:29:19

最近在启动eclipse时出现了“An Error has Occurred. See the log file”的错误,点击确定后也不能启动eclipse。查看log文件,出现类似:

java.lang.ClassNotFoundException: javax.xml.parsers.SAXParserFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at
org.eclipse.core.runtime.adaptor.EclipseAdaptor.registerEndorsedXMLParser(EclipseAdaptor.java:272)
at
org.eclipse.core.runtime.adaptor.EclipseAdaptor.frameworkStart(EclipseAdaptor.java:253)
at
org.eclipse.osgi.framework.internal.core.SystemBundleActivator.start(SystemBundleActivator.java:61)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:958)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:954)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:937)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:553)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:477)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:273)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.launch(StartLevelManager.java:243)
at
org.eclipse.osgi.framework.internal.core.SystemBundle.resume(SystemBundle.java:166)
at
org.eclipse.osgi.framework.internal.core.Framework.launch(Framework.java:425)
at org.eclipse.osgi.framework.internal.core.OSGi.launch(OSGi.java:51)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:216)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:127)
at java.lang.reflect.Method.invoke(Native Method)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:704)
at org.eclipse.core.launcher.Main.main(Main.java:688)

!ENTRY org.eclipse.osgi 2ì›” 17, 2005 18:21:52.300
!MESSAGE Startup error
!STACK 1
java.lang.NoClassDefFoundError: org/xml/sax/helpers/DefaultHandler
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at
org.eclipse.core.runtime.adaptor.PluginConverterImpl.parsePluginInfo(PluginConverterImpl.java:557)
at
org.eclipse.core.runtime.adaptor.PluginConverterImpl.fillPluginInfo(PluginConverterImpl.java:111)
at
org.eclipse.core.runtime.adaptor.PluginConverterImpl.convertManifest(PluginConverterImpl.java:660)
at
org.eclipse.core.runtime.adaptor.EclipseBundleData.generateManifest(EclipseBundleData.java:233)
at
org.eclipse.core.runtime.adaptor.EclipseBundleData.loadManifest(EclipseBundleData.java:191)
at
org.eclipse.core.runtime.adaptor.EclipseBundleData.getManifest(EclipseBundleData.java:159)
at
org.eclipse.core.runtime.adaptor.EclipseBundleData.loadFromManifest(EclipseBundleData.java:280)
at
org.eclipse.osgi.framework.internal.defaultadaptor.DefaultBundleData.initializeNewBundle(DefaultBundleData.java:77)
at
org.eclipse.osgi.framework.internal.defaultadaptor.DefaultAdaptor$1.begin(DefaultAdaptor.java:451)
at
org.eclipse.osgi.framework.internal.core.Framework.installWorkerPrivileged(Framework.java:746)
at
org.eclipse.osgi.framework.internal.core.Framework$2.run(Framework.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.Framework.installWorker(Framework.java:715)
at
org.eclipse.osgi.framework.internal.core.Framework.installBundle(Framework.java:659)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.installBundle(BundleContextImpl.java:219)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.installBundles(EclipseStarter.java:800)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.loadBasicBundles(EclipseStarter.java:429)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:222)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:127)
at java.lang.reflect.Method.invoke(Native Method)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:704)
at org.eclipse.core.launcher.Main.main(Main.java:688)
的错误,最后查询资料后的解决方法就是,删除你之前工程目录下的:“<Eclipse_root_dir>\configuration\.settings\org.eclipse.ui.ide.prefs”文件(其中Eclipse_root_dir为你的eclipse程序根目录)

SHOW_WORKSPACE_SELECTION_DIALOG”为true

3.启动eclipse,在弹出的选择workspace对话框,修改为新的workspace即可,然后导入你之前工程文件夹下的工程即可。