每次在安装Team Explorer Everywhere之后运行它时,Eclipse会立即关闭dows

时间:2017-07-14 07:20:09

标签: eclipse eclipse-plugin team-explorer-everywhere

安装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)

1 个答案:

答案 0 :(得分:0)

请尝试以下解决方法:

  • 从工作区 .metadata 文件夹中删除 .Lock 文件。
  • 删除

    下的 .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 =假

  • 转到工作区目录并执行以下步骤:

    1. Naviagate转到 .metadata / .plugins

    2. org.eclipse.core.resources 重命名为 org.eclipse.core.resources.bak 。 (备份)

    3. 启动eclipse。 (它应该显示错误消息或空工作区,因为没有找到项目。)

    4. 关闭所有打开的编辑器标签。

    5. 退出日食。
    6. 删除 org.eclipse.core.resources (删除新创建的目录。)
    7. org.eclipse.core.resources.bak 重命名为 org.eclipse.core.resources (恢复原始目录。)
    8. 启动eclipse并开始工作。