在安装团队资源管理器Everywhere插件之后,Eclipse oxygen会在加载后立即关闭窗口。我已经安装了1.8.0_131版本的JRE。Windows 7 64操作系统,2 GB内存。我在此之前安装了GIT,并将其附加到系统变量C:\Program Files\Git\cmd的路径中。我还使用变量值C:\Program Files\Java\jre1.8.0_131设置了HOME环境变量。一次,Eclipse用.log编写了以下文本:
!ENTRY org.eclipse.osgi 2 0 2017-07-14 10:14:17.583
!MESSAGE While loading class "com.microsoft.tfs.client.eclipse.util.TeamUtils", thread "Thread[Worker-5,5,main]" timed out waiting (5248ms) for thread "Thread[Worker-3,5,main]" to finish starting bundle "com.microsoft.tfs.client.eclipse_14.119.2.201706191916 [552]". To avoid deadlock, thread "Thread[Worker-5,5,main]" is proceeding but "com.microsoft.tfs.client.eclipse.util.TeamUtils" may not be fully initialized.
!STACK 0
org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="14.119.2.201706191916"; osgi.identity="com.microsoft.tfs.client.eclipse"; singleton:="true" [id=552] STARTED [STARTED]
at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
at org.eclipse.osgi.container.Module.start(Module.java:401)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:103)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:529)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:446)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.microsoft.tfs.client.eclipse.project.ProjectRepositoryManager.shouldConnect(ProjectRepositoryManager.java:529)
at com.microsoft.tfs.client.eclipse.project.ProjectRepositoryManager.start(ProjectRepositoryManager.java:179)
at com.microsoft.tfs.client.eclipse.TFSEclipseClientPlugin$1.run(TFSEclipseClientPlugin.java:106)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
... 15 more
Root exception:
java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
at org.eclipse.osgi.container.Module.start(Module.java:401)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:103)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:529)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:446)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.microsoft.tfs.client.eclipse.project.ProjectRepositoryManager.shouldConnect(ProjectRepositoryManager.java:529)
at com.microsoft.tfs.client.eclipse.project.ProjectRepositoryManager.start(ProjectRepositoryManager.java:179)
at com.microsoft.tfs.client.eclipse.TFSEclipseClientPlugin$1.run(TFSEclipseClientPlugin.java:106)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)发布于 2017-07-17 11:25:49
请尝试以下方法来解决此问题:
C:\Users{您的account}\eclipse\java-neon\eclipse\configuration\org.eclipse.osgi.manager
在eclipse.ini文件中使用-Dequinox.statechange.timeout=120000
-Dosgi.checkConfiguration=false
1. Naviagate to **.metadata/.plugins**
2. Rename **org.eclipse.core.resources** to **org.eclipse.core.resources.bak**. (backup it)
3. Start eclipse. (It should show an error message or an empty workspace because no project is found.)
4. Close all open editors tabs.
5. Exit eclipse.
6. Delete **org.eclipse.core.resources** (Delete the newly created directory.)
7. Rename **org.eclipse.core.resources.bak** back to **org.eclipse.core.resources** (Restore the original directory.)
8. Start eclipse and start working.
https://stackoverflow.com/questions/45097021
复制相似问题