MyEclipse启动假死状态的解决方案

来源:互联网 发布:网络剧一般在哪招演员 编辑:程序博客网 时间:2024/05/21 14:41

问题描述:启动MyEclipse 10.6时,加载到某个位置出现假死状态,无法启动,查看日志

报错信息:

!ENTRY org.eclipse.osgi 2 0 2015-04-02 10:16:59.094!MESSAGE While loading class "org.eclipse.debug.core.DebugPlugin", thread "Thread[org.eclipse.jdt.internal.ui.text.JavaReconciler,1,main]" timed out waiting (5000ms) for thread "Thread[main,6,main]" to finish starting bundle "org.eclipse.debug.core_3.7.1.v20111129-2031 [542]". To avoid deadlock, thread "Thread[org.eclipse.jdt.internal.ui.text.JavaReconciler,1,main]" is proceeding but "org.eclipse.debug.core.DebugPlugin" may not be fully initialized.!STACK 0org.osgi.framework.BundleException: State change in progress for bundle "reference:file:/D:/Program Files/MyEclipse10.6/Common/plugins/org.eclipse.debug.core_3.7.1.v20111129-2031.jar" by thread "main".at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1087)at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:297)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)at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:463)at org.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.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:473)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:252)at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)at org.eclipse.m2e.jdt.MavenJdtPlugin.start(MavenJdtPlugin.java:123)at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)at java.security.AccessController.doPrivileged(Native Method)at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)at 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)at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:463)at org.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(DefaultClassLoader.java:107)at java.lang.ClassLoader.loadClass(ClassLoader.java:252)at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207)at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:2858)at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:2834)at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2822)at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1876)at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2811)at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2689)at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2853)at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:219)at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2040)at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:470)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:395)at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530)at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2353)at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:793)at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1879)at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2811)at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2689)at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2853)at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1958)at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:461)at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:518)at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:255)at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:241)at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1638)at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2325)at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:59)at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:66)at org.eclipse.jdt.internal.core.CancelableNameEnvironment.<init>(CancelableNameEnvironment.java:26)at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:176)at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:269)at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:190)at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1244)at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:178)at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:136)at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:105)at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:406)at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:173)Caused by: org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException... 91 moreRoot exception:org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusExceptionat org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1087)at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:297)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)at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:463)at org.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.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:473)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:252)at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)at org.eclipse.m2e.jdt.MavenJdtPlugin.start(MavenJdtPlugin.java:123)at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)at java.security.AccessController.doPrivileged(Native Method)at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)at 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)at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:463)at org.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(DefaultClassLoader.java:107)at java.lang.ClassLoader.loadClass(ClassLoader.java:252)at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207)at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:2858)at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:2834)at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2822)at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1876)at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2811)at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2689)at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2853)at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:219)at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2040)at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:470)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:395)at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530)at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2353)at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:793)at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1879)at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2811)at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2689)at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2853)at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1958)at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:461)at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:518)at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:255)at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:241)at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1638)at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2325)at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:59)at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:66)at org.eclipse.jdt.internal.core.CancelableNameEnvironment.<init>(CancelableNameEnvironment.java:26)at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:176)at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:269)at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:190)at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1244)at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:178)at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:136)at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:105)at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:406)at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:173)
解决方法:

经过摸索,一开始以为JVM内存太小,然后重新修改内存分配大小,修改myeclipse.ini文件

配置如下:

-vmargs
-Xmx768m
-XX:MaxPermSize=512m
-XX:ReservedCodeCacheSize=64m

重启MyEclipse,仍然启动不成功

后来在启动命令行中,加入-clean参数,清空插件缓存内容,启动成功。

更多Eclipse启动参数,可参考:

http://www.blogjava.net/wangxinsh55/archive/2007/07/06/128589.html


0 0
原创粉丝点击