当我启动时,Eclipse显示“工作区不能被锁定”

“无法启动产品,因为相关的工作空间目前正在被另一个Eclipse应用程序使用”或“工作空间正在使用或无法创建,请选择另一个工作空间。”

但我知道它不是。

我如何“解锁”它?


当前回答

如果没有工作,另一种可能的情况是看到有一个正在运行的Java应用程序。可能是您以前的打开和关闭留下了未杀死的Java实例。

如果有两个java实例,请检查是否有正在运行的java实例,至少需要杀死一个。但是,大多数时候我杀死任何java运行:),因为java使用的工作空间更早,如果不杀死它仍然会。 如果您想要多个IDE用于不同或相同的项目,请更改另一个工作空间,但您应该在打开IDE后导入项目窗体工作空间。

其他回答

如果有人有STM32Cube相关的问题,这显然是基于Eclipse的,有同样的问题,以上的建议对我都不适用,这里是我如何修复它,对于Linux,尽管我想你也可以在Windows中找到相应的路径。

在$HOME目录下,进入.eclipse/com.st.stm32cube.ide…/configuration/settings

prefs文件包含很少的选项,包括最近的工作空间路径,以及它是否会提示您在启动时选择一个工作空间。修改RECENT_WORKSPACES的路径,或者启用SHOW_WORKSPACE_SELECTION_DIALOG。

在管理员模式下运行eclipse为我解决了这个问题。您可以通过[右键单击]->在安装目录下以管理员身份运行eclipse.exe。

我在win7机器的工作环境中具有限制性权限。我还删除了.lock和.log文件,但这并没有帮助。它也可以是所有这些因素的结合。

有时,如果你在Windows上,你可能看不到所有的进程——或者在任务管理器中看不到罪魁祸首进程。我必须点击“显示所有用户的进程”,我必须杀死这个java.exe,以便回到我的工作空间。

这发生在我身上的原因(用Photon)很容易通过改变Eclipse的一般偏好来解决:

Window -> Preferences -> General: Uncheck: "Always run in background"

一旦进行了更改,无论何时关闭Eclipse,它都将不再让javaw.exe进程在后台运行。我猜这是Photon中的一个bug(或者是使用Amazon Corretto OpenJDK版本的Java和Eclipse的bug),总有一天会被修复。

“工作区正在使用中或无法创建,请选择另一个”问题的另一个可能原因是,到您的工作区的实际路径可能已经更改。

在我的例子中,工作空间的真实位置已经改变了,但是我使用了一个符号链接使它看起来像是在相同的位置。我在日志中看到错误,表明eclipse正在查看之前的“真实”位置,而不是遵循符号链接,这就是导致错误的原因。

在我的例子中,我只是将工作空间移回原来的位置。