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

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

但我知道它不是。

我如何“解锁”它?


当前回答

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

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

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

其他回答

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

Mac用户:

可能是另一个eclipse实例正在后台运行。如果是,使用Force Quit eclipse或

ps -ef |grep eclipse
kill -9 pid

到所有eclipse实例,并启动新的工作空间

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

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

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

还有另一种情况,工作空间的路径可能不存在,例如,如果您从另一个工作空间导入了首选项,那么一些导入的工作空间地址可能会出现在您的“开放工作空间”对话框中;然后,如果您不注意这些地址,一旦您试图打开它们,就会得到完全相同的错误。

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

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

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