无法获取模块的状态更改锁:Windows Server 2012上的osgi.identity

时间:2018-02-16 16:02:50

标签: java eclipse windows-server-2012-r2

我无法打开在Windows Server 2012 R2标准版上运行的远程桌面上下载的eclipse。我该如何解决这个问题? 这是我尝试过的:

  • 已删除配置/ .log文件
  • 在configuration / org.eclipse.osgi / .manager中删除.fileTable.1,.fileTable.2,.fileTableLock
  • 在configuration / org.eclipse.osgi
  • 中删除了framework.info.1

我无权重启共享服务器。 这是我的.eclipseproduct:

name=Eclipse Platform
id=org.eclipse.platform
version=4.6.3

这是日志文件的开头:

!ENTRY org.eclipse.equinox.ds 2 0 2018-02-16 10:28:57.812 !MESSAGE [SCR]启用bundle org.eclipse.ui.trace的组件未在30000 ms内完成

!ENTRY org.eclipse.core.runtime 4 0 2018-02-16 10:29:02.855
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; osgi.identity="org.eclipse.core.runtime"; type="osgi.bundle"; version:Version="3.12.0.v20160606-1342"; singleton:="true" [id=98] 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.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
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)
    ... 8 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.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

2 个答案:

答案 0 :(得分:1)

我知道这个问题很久了,但仍然想加我的2美分,因为它仍然没有得到解答。 转到安装Eclipse的位置。 您应该找到一个配置文件夹。 只需搜索该目录及其子目录中的所有“ .fileTableLock”文件,然后删除这些文件即可。

您应该能够重新启动IDE。

答案 1 :(得分:0)

我用myeclipse和word?ks尝试了这个解决方案,特别是我尝试了这个:

  1. 使用zip备份该文件夹中的所有文件
  2. 删除文件 文件夹是 \ MyEclipse 2017 CI \ configuration \ org.eclipse.osgi.manager

重启myeclipse