1

我已经安装了自己的Checkstyle更新站点插件并且安装得很好,但是当我重新启动Eclipse并检查Window - > Preferences中的Checkstyle选项时,下一个错误:Eclipse Checkstyle菜单首选项适用于Eclipse Juno,但不适用于Indigo或Helios

无法创建所选的首选项页面。 自动激活软件包net.sf.eclipsecs.ui(854)时发生错误。

错误日志是这样的:

org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter $ TerminatingClassNotFoundException:同时自动激活束net.sf.eclipsecs.ui(854)时发生错误。 在org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122) 在org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:463) 的组织。 eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400) at org.eclipse.osgi.internal。 loader.BundleLoader.findClassInternal(BundleLoader.java:476) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) at org.eclipse.osgi.internal.loader.BundleLoader.findClass( BundleLoader.java:417) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClas在java.lang.ClassLoader.loadClass(ClassLoader.java:356) (org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345) at org.eclipse。在org.eclipse.core处的org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207) 处的osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229) 。在org.eclipse.core.internal.registry的org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905) 处使用internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174) 。 org.eclipse.core.internal.registry.Configuration的ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) 在org.eclipse.swt.custom.BusyIndi​​cator.showWhile(BusyIndi​​cator.java:52)处使用org.eclipse.ui.internal.WorkbenchPlugin $ 1.run(WorkbenchPlugin.java:268) 来调用ElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55) 。 ) 在org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:264) 在org.eclipse.ui.internal.EarlyStartupRunnable.getExecutableExtension(EarlyStartupRunnable.java:117) 在org.eclipse.ui.internal .earlyStartupRunnable.run(EarlyStartupRunnable.java:66) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.Workbench $ 63.run(Workbench.java: 2470) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 造成者:org.osgi.fr amework.BundleException:包net.sf.eclipsecs.ui的激活码net.sf.eclipsecs.ui.CheckstyleUIPlugin无效 at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:171) 在org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679) 在org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) 在org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:299) at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440) at org.eclipse。 osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader。java:268) at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107) ... 23更多 引起:java.lang.NoClassDefFoundError:org/eclipse/e4/UI /模型/应用/ MApplicationElement 在net.sf.eclipsecs.ui.CheckstyleUIPlugin。(CheckstyleUIPlugin.java:242) 在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl .java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at java.lang.Class.newInstance0(Class .java:374) at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:166) ... 29更多 引发: java.lang.ClassNotFoundException:org.eclipse.e4.ui.model.application.MApplicationElement at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) at org.eclipse.osgi.internal .loader.BundleLoader.findClass(BundleLoader.java:429) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass (DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 37 m矿石

这个错误发生在Helios和Indigo中,但不是在Juno中,插件和功能版本是相同的。

我的问题是什么?请帮助我

亲切的问候

回答

1

该插件明确地依赖于Eclipse4类,只提供了Eclipse的4.x的流。你可以看到它在堆栈跟踪时的CheckStyle的UI插件是要创建:

Caused by: java.lang.NoClassDefFoundError: org/eclipse/e4/ui/model/application/MApplicationElement at net.sf.eclipsecs.ui.CheckstyleUIPlugin.(CheckstyleUIPlugin.java:242) 

如果你真的需要对旧版本的Eclipse插件,请使用Eclipse的更新管理器有安装它,不要手动复制周围的插件jar文件。更新管理器应该能够检测哪个版本的插件与您的Eclipse版本相匹配。

但是我的建议是使用Eclipse Kepler,因为这是目前最具错误修正的最新版本。

相关问题