我最近将我的Eclipse升级到STS 3.6.3,这是Eclipse Luna的隐藏。
我使用与Kepler Eclipse实例相同的工作区启动了它。
启动后我发现了一些问题。
第一件事是一个包含以下内容的错误对话框:
构建期间发生错误。 实例化构建器&org.eclipse.m2e.core.maven2Builder'时出错。 插件org.eclipse.m2e.core无法加载类org.eclipse.m2e.core.internal.builder.MavenBuilder。 自动激活bundle org.eclipse.m2e.core时发生错误(576)。
我检查了日志,发现了以下希望相关的堆栈跟踪:
!SUBENTRY 1 org.eclipse.equinox.registry 4 1 2015-01-15 06:50:18.992 !MESSAGE Plug-in org.eclipse.m2e.core was unable to load class org.eclipse.m2e.core.internal.builder.MavenBuilder. !STACK 0 java.lang.ClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.m2e.core (576). at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:116) at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531) at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324) at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:320) at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36) at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:391) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:260) at org.springsource.ide.eclipse.gradle.core.m2e.M2EUtils.createImplementation(M2EUtils.java:172) at org.springsource.ide.eclipse.gradle.core.m2e.M2EUtils.implementation(M2EUtils.java:165) at org.springsource.ide.eclipse.gradle.core.m2e.M2EUtils.isInstalled(M2EUtils.java:183) at org.springsource.ide.eclipse.gradle.core.classpathcontainer.GradleClassPathContainer.ensureOpenCloseListener(GradleClassPathContainer.java:193) at org.springsource.ide.eclipse.gradle.core.classpathcontainer.GradleClassPathContainer.getClasspathEntries(GradleClassPathContainer.java:152) at org.eclipse.jdt.internal.core.JavaModelManager.containerPutIfInitializingWithSameEntries(JavaModelManager.java:667) at org.eclipse.jdt.internal.core.SetContainerOperation.executeOperation(SetContainerOperation.java:49) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:729) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:789) at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1942) at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3247) at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2697) at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2861) at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:221) at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2065) at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:477) at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285) at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149) at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:378) at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1498) at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1718) at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:167) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Caused by: org.osgi.framework.BundleException: Error starting module. at org.eclipse.osgi.container.Module.doStart(Module.java:580) at org.eclipse.osgi.container.Module.start(Module.java:439) at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454) at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107) ... 37 more Caused by: java.lang.IncompatibleClassChangeError: Class ch.qos.logback.classic.LoggerContext does not implement the requested interface org.slf4j.ILoggerFactory at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:270) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281) at org.eclipse.m2e.core.internal.MavenPluginActivator.<init>(MavenPluginActivator.java:88) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at java.lang.Class.newInstance(Class.java:438) at org.eclipse.osgi.internal.framework.BundleContextImpl.loadBundleActivator(BundleContextImpl.java:755) at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:706) at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936) at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319) at org.eclipse.osgi.container.Module.doStart(Module.java:571) ... 40 more
当我选择&#34;更新项目&#34;从上下文菜单的Maven部分,它给出了一个对话框,说明&#34;所选择的操作目前不可用&#34;。