当我启动时,Eclipse 显示“无法锁定工作区”
“无法启动产品,因为关联的工作区当前正被另一个 Eclipse 应用程序使用。”或“正在使用或无法创建工作区,请选择其他工作区。”
但我知道不是。
我如何“解锁”它?
只需删除 Eclipse 工作区目录中 .metadata
目录中的 .lock
文件。
注意事项 - 如果您删除 .metadata
文件夹,所有首选项都将被删除。
到目前为止,我已经看到了 3 个其他修复:
在 .metadata/, rm .lock 文件如果 #1 不起作用,尝试杀死进程 javaw.exe 等。然后 rm .lock 文件如果 #1 和 #2 不起作用,尝试 rm .log 文件在 .metadata /,并仔细检查 .plugin/。这一直对我有用:重新定位 .metadata/,打开和关闭 eclipse,然后覆盖 .metadata
解决方案归结为清理 .metadata 文件夹。
转到TaskManager(在任务栏中右键单击)并选择Processess菜单栏并选择eclipse.exe并单击EndProcess
“工作区正在使用或无法创建,选择不同的”问题的另一个可能原因是工作区的实际路径可能已更改。
在我的例子中,工作区的实际位置已经改变,但我使用了符号链接让它看起来像在同一个位置。我在日志中看到错误,表明 eclipse 正在查看以前的“真实”位置,而不是遵循符号链接,这导致了错误。
就我而言,我只是将工作区移回其旧位置。
还有一种情况是工作区的路径可能不存在,例如,如果您从另一个工作区导入了首选项,那么一些导入的工作区地址可能会出现在您的“打开工作区”对话框中;那么如果你不注意这些地址,一旦你试图打开它们,你会得到完全相同的错误。
在 Administrator Mode
中运行 eclipse 为我修复了它。您可以通过 [右键单击] ->从您的安装目录在 eclipse.exe
上以管理员身份运行。
我在具有限制权限的win7机器的工作环境中。我也确实删除了 .lock
和 .log
文件,但这并没有帮助。它也可以是所有使它起作用的组合。
sudo eclipse
删除日志和 .lock 不起作用,但
-clean 选项为我修复了它。
有时,如果您在 Windows 上,您可能看不到所有进程 - 或任务管理器中的罪魁祸首进程。我必须单击“显示所有用户的进程”,我必须杀死这个 java.exe 才能取回我的工作区。
如果没有工作,另一种可能的情况是看到有一个正在运行的 Java
应用程序。可能是您之前的打开和关闭留下了未杀死的 java 实例。
如果至少有两个你需要杀死一个,请寻找任何正在运行的 java 实例。但是,大多数时候我会杀死任何正在运行的 java :) 因为那个 java 更早地使用了工作空间,如果不杀死它仍然会它。如果您希望多个 IDE 使用和处理不同或相同的项目,请更改另一个工作空间,但您应该在打开 IDE 后导入项目表单工作空间。
当eclipse没有关闭时我遇到了这个问题(从任务管理器中杀死eclipse进程或关闭计算机电源),我尝试了以下步骤,它对我有用。
1)从此文件夹中删除以“.fileTable”开头的文件名
C:\eclipse\configuration\org.eclipse.osgi.manager
2)从此文件夹中删除以数字名称开头的文本文件等日志文件
C:\eclipse\配置
3)打开命令提示符(cmd)导航到这个文件夹
C:\日食
键入以下命令
日食干净的开始
https://i.stack.imgur.com/84bIE.png
对于 Mac 用户:
可能是另一个 eclipse 实例正在后台运行。如果是这样,请使用 Force Quit eclipse 或
ps -ef |grep eclipse kill -9 pid
到所有 Eclipse 实例,并启动新的工作区
请尝试从任务栏结束任务 Eclipse。这个对我有用。
@Boris 给出的答案在 99% 的情况下都是正确的,但是如果您在旧版本的 Eclipse 中打开工作区,也会发生这种情况。使用 Juno 导入/创建的工作空间在 Galileo 中打开时会引发此错误。
此问题的另一个非常常见的原因是,如果您尝试在不再连接的驱动器上加载目录。例如,假设您在 C:\Code\Java 中编程,但偶尔使用闪存驱动器 H:\Code\Java。如果您没有连接驱动器,则很容易相信您正在尝试加载有效目录而不会注意到您的拼写错误。
另一个问题是当 Eclipse 没有对您的 src 文件夹的写访问权限时。更改安全权限并确保添加“经过身份验证的用户”并检查所有权限,但完全控制和特殊权限。
重新启动系统后出现此错误(经过很长时间。通常我只是让它进入睡眠状态)。发现一旦我安装了项目文件夹所在的驱动器(通过单击并打开它),然后重新启动 eclipse,就为我解决了这个问题。
PS:我是ubuntu用户。
这里有几个步骤来解决它。 4步对我有用。
沿 .metadata 文件夹删除 .log 文件。检查当前用户权限确保选中完全控制复选框单击应用然后确定。如果您在运行 Eclipse 编辑器之前运行系统驱动器碎片整理或维护,有时原始文件路径不在其各自的路径中,以确保在您的驱动器系统维护之前运行“先前版本”时间,其中保存了 Eclipse 工作台或类似的东西.最后一个选项对我有用。检查保存代码编辑器的当前驱动器的驱动器号。如果出现异常情况,例如在您进行维护之前,您的驱动器号是 K,那么在进行碎片整理或维护之后。驱动器号现在是 L 因此您应该将驱动器号更改为原来的 K单击>更改驱动器号和路径>单击删除>然后确定,再次打开它然后>单击添加并>选择该驱动器的原始驱动器号,然后单击确定。如果您长时间使用计算机,请先重新启动以刷新所有内容。
选择一个“不同的”实际上是一个非常简单的解决方案。
我一直以管理员身份运行 Eclipse(命令行中的 sudo eclipse
),因为“工作区”文件夹引发了 Workspace in use or cannot be created…
错误(并且以管理员身份运行似乎是修复它的唯一解决方案)。
一位同事(与我一起处理同样的问题)想通过单击一个图标来运行 Eclipse。因此,当他运行 Eclipse 时,出现了选择工作区的对话框,他只是在“工作区”的末尾添加了一个“2”。
这创建了一个新文件夹:“workspace2”。 Eclipse 运行良好;从那以后我没有遇到任何锁定问题。
当您没有正确关闭 eclipse.exe 时会发生这种情况。
*打开任务管理器->结束你的eclipse任务->现在打开eclipse.exe它就可以工作了。
希望它对某人有所帮助。
我观察到一个案例,当 eclipse 在强制退出时,或Alt-f2 xkill
在 linux 中,尝试立即打开 eclipse 时会显示该错误。在这种情况下,甚至 metadat/.lock 文件也不存在。然而,它在大约两分钟后开始工作
我不知道出了什么问题,但我通过直接在 c 驱动器 (c:\dev) 而不是从我的主文件夹 (c:\users\me\dev) 中创建目录来解决。但我不必考虑。就我而言,它是新的 Eclipse 解压缩实例。我无法在 eclipse 文件夹中看到 .matadata 文件夹。靠着上帝的恩典,我解决了。
这发生在我身上的原因(使用 Photon)很容易通过更改 Eclipse 一般偏好来解决:
Window -> Preferences -> General: Uncheck: "Always run in background"
一旦进行了更改,无论何时关闭 Eclipse,它都不会再让 javaw.exe 进程在后台运行。我猜这是 Photon 中的一个错误(或者是在 Eclipse 中使用 Amazon Corretto OpenJDK 版本的 Java 的错误),有朝一日会得到修复。
我遇到了同样的问题,但由于某些原因,工作区中的 .lock
文件没有被删除。甚至创建一个新的工作空间也被锁定了。
所以我所做的是清理 Windows temp
文件夹、%PREFETCH%
文件夹和 %TEMP%
位置。重新启动系统,然后它允许删除 .lock
文件。
也许它会帮助某人。
您的工作区似乎用于 Java TM,打开任务管理器并关闭 eclipse.exe 和 java TM 进程。
在我的情况下起作用的是重新启动系统。 (Ubuntu 20.04)
如果有人遇到与 STM32Cube 相关的问题(显然是基于 Eclipse 并且有同样的问题),那么上述建议都没有对我有用,这就是我修复它的方法,对于 Linux,虽然我想你可以找到Windows 中的相应路径也是如此。
在 $HOME
目录中,转到 .eclipse/com.st.stm32cube.ide.../configuration/settings
文件 org.eclipse.ui.ide.prefs
包含一些选项,包括最近的工作空间路径,以及它是否会在启动时提示您选择工作空间。修改 RECENT_WORKSPACES
的路径,或启用 SHOW_WORKSPACE_SELECTION_DIALOG
。
在我的例子中,工作区位置 C:\
之前有一个空格。我删除了那个空间,这就足够了:)
.lock
文件是一个隐藏文件,因此如果您使用ls
查找它,请不要忘记-a
选项:ls -a .metadata
。