安装Team Explorer Everywhere插件后,Eclipse氧气在加载后立即关闭。我有JRE安装版本1.8.0_131。 Windows 7 64 OS,2 GB RAM。我之前安装了GIT并附加到系统变量C:\ Program Files \ Git \ cmd的路径中。我还设置了HOME环境变量,其变量值为C:\ Program Files \ Java \ jre1.8.0_131。 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)
答案 0 :(得分:0)
请尝试以下解决方法:
删除
下的 .fileTableLock 文件C:\用户{您 帐户} \蚀\ java的氖\蚀\配置\ org.eclipse.osgi.manager
在 eclipse.ini 中设置以下标志(通常应位于C:\ Users {您的帐户} \ eclipse \ java-neon \ eclipse下) 文件增加了 osgi超时值从5秒到2分钟,以防止osgi 超时过快。
-Dequinox.statechange.timeout = 120000
在 eclipse.ini 文件中设置以下单位以忽略 检查配置。
-Dosgi.checkConfiguration =假
转到工作区目录并执行以下步骤:
Naviagate转到 .metadata / .plugins
将 org.eclipse.core.resources 重命名为 org.eclipse.core.resources.bak 。 (备份)
启动eclipse。 (它应该显示错误消息或空工作区,因为没有找到项目。)
关闭所有打开的编辑器标签。