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,因爲這是目前最具錯誤修正的最新版本。

相關問題