Eclipse plugin EclipseCheckStyle菜单首选项在EclipseJuno中工作,但在Indigo或Helios中不起作用

Eclipse plugin EclipseCheckStyle菜单首选项在EclipseJuno中工作,但在Indigo或Helios中不起作用,eclipse-plugin,eclipse-juno,checkstyle,eclipse-indigo,helios,Eclipse Plugin,Eclipse Juno,Checkstyle,Eclipse Indigo,Helios,我已经安装了自己的Checkstyle更新站点插件,并且安装得很好,但是当我重新启动Eclipse并在窗口-->首选项中选中Checkstyle选项时,会出现下一个错误: 无法创建所选首选项页。 自动激活bundle net.sf.eclipseecs.ui(854)时出错 错误日志如下所示: org.eclipse.core.runtime.internal.adapter.EclipseLazyStarter$TerminationClassNotFoundException:自动激活bun

我已经安装了自己的Checkstyle更新站点插件,并且安装得很好,但是当我重新启动Eclipse并在窗口-->首选项中选中Checkstyle选项时,会出现下一个错误:

无法创建所选首选项页。 自动激活bundle net.sf.eclipseecs.ui(854)时出错

错误日志如下所示:

org.eclipse.core.runtime.internal.adapter.EclipseLazyStarter$TerminationClassNotFoundException:自动激活bundle net.sf.eclipsecs.ui(854)时出错。 位于org.eclipse.core.runtime.internal.adapter.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122) 位于org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:463) 位于org.eclipse.osgi.internal.baseAdapter.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) 位于org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400) 位于org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476) 位于org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 位于org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 位于org.eclipse.osgi.internal.baseAdapter.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:356) 位于org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345) 位于org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229) 位于org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207) 位于org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174) 位于org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905) 位于org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) 位于org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55) 位于org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:268) 位于org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:52) 位于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) 位于org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 位于org.eclipse.ui.internal.Workbench$63.run(Workbench.java:2470) 位于org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 原因:org.osgi.framework.BundleException:bundle net.sf.eclipsecs.ui.CheckstyleUIPlugin的激活器net.sf.eclipsecs.ui无效 位于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) 位于org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440) 位于org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:268) 位于org.eclipse.core.runtime.internal.adapter.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107) ... 23多 原因:java.lang.NoClassDefFoundError:org/eclipse/e4/ui/model/application/MapApplicationElement 在net.sf.eclipsecs.ui.CheckstyleUIPlugin.(CheckstyleUIPlugin.java:242) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 位于java.lang.reflect.Constructor.newInstance(Constructor.java:525) 位于java.lang.Class.newInstance0(Class.java:374) 位于java.lang.Class.newInstance(Class.java:327) 位于org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:166) ... 还有29个 原因:java.lang.ClassNotFoundException:org.eclipse.e4.ui.model.application.MapApplicationElement 位于org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) 位于org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 位于org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 位于org.eclipse.osgi.internal.baseAdapter.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 37多

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

我有什么问题??请帮帮我


该插件显式地依赖于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版本匹配


但我的建议是使用EclipseKepler,因为它是目前修复错误最多的最新版本。

该插件明确依赖于Eclipse4类,这些类仅在Eclipse的4.x流中可用。当创建checkstyle的UI插件时,您可以在堆栈跟踪中看到它