ChatGPT解决这个技术问题 Extra ChatGPT

Eclipse 说:“工作区正在使用或无法创建,请选择不同的。”如何解锁工作区?

当我启动时,Eclipse 显示“无法锁定工作区”

“无法启动产品,因为关联的工作区当前正被另一个 Eclipse 应用程序使用。”或“正在使用或无法创建工作区,请选择其他工作区。”

但我知道不是。

我如何“解锁”它?


J
J4cK

只需删除 Eclipse 工作区目录中 .metadata 目录中的 .lock 文件。

注意事项 - 如果您删除 .metadata 文件夹,所有首选项都将被删除。


我似乎无法删除它,因为它说它已经在 Eclipse 中打开了,但实际上它没有打开......
看看后台有没有和eclipse相关的进程,kill掉。
谢谢鲍里斯!不是正确的地方,但我现在必须咆哮.. 为什么 Eclipse 不提供删除 .lock 文件的选项,甚至不提示它的存在?什么自尊的 IDE 无论如何都不能在同一个工作区中运行多个实例?如果删除 .lock 文件是唯一的解决方案,为什么 Eclipse 在检查没有其他实例正在运行后在启动时不将其删除?想想看,.lock 文件会立即过时!最后,其他编辑器绝不会被阻止在工作区中打开文件,因此它一开始就毫无用处。我真的很讨厌你Eclipse!
.lock 文件是一个隐藏文件,因此如果您使用 ls 查找它,请不要忘记 -a 选项:ls -a .metadata
在删除锁定文件之前,请确保旧的 eclipse 进程确实如您所想的那样死了
T
Tom Wang

到目前为止,我已经看到了 3 个其他修复:

在 .metadata/, rm .lock 文件如果 #1 不起作用,尝试杀死进程 javaw.exe 等。然后 rm .lock 文件如果 #1 和 #2 不起作用,尝试 rm .log 文件在 .metadata /,并仔细检查 .plugin/。这一直对我有用:重新定位 .metadata/,打开和关闭 eclipse,然后覆盖 .metadata

解决方案归结为清理 .metadata 文件夹。


...除了,如果您的 .metadata 文件夹有任何自定义公司插件数据,现在将“重置”回您获得的默认数据版本,如果该插件以前从未与 Eclipse 一起使用过。
S
Suresh Babu

转到TaskManager(在任务栏中右键单击)并选择Processess菜单栏并选择eclipse.exe并单击EndProcess


我正在使用 STS,所以我杀死了 STS.exe
W
Wilfred Hughes

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

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

就我而言,我只是将工作区移回其旧位置。


在 Windows 上也有类似的情况:我的同事在驱动器 D: 上开发,但我只有 C:,所以我只使用了 SUBST D:C:\ 并且可以使用工作区。第二天(下一次登录),Windows 当然忘记了我的 SUBST,我收到了错误消息。
k
kakyo

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


N
Nikhilesh Gargi

Administrator Mode 中运行 eclipse 为我修复了它。您可以通过 [右键单击] ->从您的安装目录在 eclipse.exe 上以管理员身份运行

我在具有限制权限的win7机器的工作环境中。我也确实删除了 .lock.log 文件,但这并没有帮助。它也可以是所有使它起作用的组合。


如此简单,但正是我所需要的!在 Linux 中从命令行运行:sudo eclipse
u
user4112061

删除日志和 .lock 不起作用,但

-clean 选项为我修复了它。


u
user2574523

有时,如果您在 Windows 上,您可能看不到所有进程 - 或任务管理器中的罪魁祸首进程。我必须单击“显示所有用户的进程”,我必须杀死这个 java.exe 才能取回我的工作区。


D
Daniel Adenew

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

如果至少有两个你需要杀死一个,请寻找任何正在运行的 java 实例。但是,大多数时候我会杀死任何正在运行的 java :) 因为那个 java 更早地使用了工作空间,如果不杀死它仍然会它。如果您希望多个 IDE 使用和处理不同或相同的项目,请更改另一个工作空间,但您应该在打开 IDE 后导入项目表单工作空间。


V
Venkata Naresh Babu

当eclipse没有关闭时我遇到了这个问题(从任务管理器中杀死eclipse进程或关闭计算机电源),我尝试了以下步骤,它对我有用。

1)从此文件夹中删除以“.fileTable”开头的文件名

C:\eclipse\configuration\org.eclipse.osgi.manager

2)从此文件夹中删除以数字名称开头的文本文件等日志文件

C:\eclipse\配置

3)打开命令提示符(cmd)导航到这个文件夹

C:\日食

键入以下命令

日食干净的开始

https://i.stack.imgur.com/84bIE.png


S
Shankar Rajan

对于 Mac 用户:

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

ps -ef |grep eclipse
kill -9 pid

到所有 Eclipse 实例,并启动新的工作区


谢谢你的评论。你救了我!
P
Pierre ALBARÈDE

使用选项 -Dosgi.locking=none 启动 Eclipse。

我得到了诀窍 here 并且它有效。

除非您知道没有人可以同时处理同一个文件,否则不要这样做。


v
vishal jat

请尝试从任务栏结束任务 Eclipse。这个对我有用。


D
Daniël W. Crompton

@Boris 给出的答案在 99% 的情况下都是正确的,但是如果您在旧版本的 Eclipse 中打开工作区,也会发生这种情况。使用 Juno 导入/创建的工作空间在 Galileo 中打开时会引发此错误。


H
Hawkwing

此问题的另一个非常常见的原因是,如果您尝试在不再连接的驱动器上加载目录。例如,假设您在 C:\Code\Java 中编程,但偶尔使用闪存驱动器 H:\Code\Java。如果您没有连接驱动器,则很容易相信您正在尝试加载有效目录而不会注意到您的拼写错误。


m
mico_philip

另一个问题是当 Eclipse 没有对您的 src 文件夹的写访问权限时。更改安全权限并确保添加“经过身份验证的用户”并检查所有权限,但完全控制和特殊权限。


R
RmK

重新启动系统后出现此错误(经过很长时间。通常我只是让它进入睡眠状态)。发现一旦我安装了项目文件夹所在的驱动器(通过单击并打开它),然后重新启动 eclipse,就为我解决了这个问题。

PS:我是ubuntu用户。


C
Community

这里有几个步骤来解决它。 4步对我有用。

沿 .metadata 文件夹删除 .log 文件。检查当前用户权限确保选中完全控制复选框单击应用然后确定。如果您在运行 Eclipse 编辑器之前运行系统驱动器碎片整理或维护,有时原始文件路径不在其各自的路径中,以确保在您的驱动器系统维护之前运行“先前版本”时间,其中保存了 Eclipse 工作台或类似的东西.最后一个选项对我有用。检查保存代码编辑器的当前驱动器的驱动器号。如果出现异常情况,例如在您进行维护之前,您的驱动器号是 K,那么在进行碎片整理或维护之后。驱动器号现在是 L 因此您应该将驱动器号更改为原来的 K单击>更改驱动器号和路径>单击删除>然后确定,再次打开它然后>单击添加并>选择该驱动器的原始驱动器号,然后单击确定。如果您长时间使用计算机,请先重新启动以刷新所有内容。


你可以对你的解释做一个更好的格式。最后一步很难阅读。你也写了 4 stop 而不是 5 如你所说
J
Joe

选择一个“不同的”实际上是一个非常简单的解决方案。

我一直以管理员身份运行 Eclipse(命令行中的 sudo eclipse),因为“工作区”文件夹引发了 Workspace in use or cannot be created… 错误(并且以管理员身份运行似乎是修复它的唯一解决方案)。

一位同事(与我一起处理同样的问题)想通过单击一个图标来运行 Eclipse。因此,当他运行 Eclipse 时,出现了选择工作区的对话框,他只是在“工作区”的末尾添加了一个“2”。

这创建了一个新文件夹:“workspace2”。 Eclipse 运行良好;从那以后我没有遇到任何锁定问题。


R
Ragupathy

当您没有正确关闭 eclipse.exe 时会发生这种情况。

*打开任务管理器->结束你的eclipse任务->现在打开eclipse.exe它就可以工作了。

希望它对某人有所帮助。


S
Sudip Bhandari

我观察到一个案例,当 eclipse 在强制退出时,或Alt-f2 xkill在 linux 中,尝试立即打开 eclipse 时会显示该错误。在这种情况下,甚至 metadat/.lock 文件也不存在。然而,它在大约两分钟后开始工作


S
Sun

我不知道出了什么问题,但我通过直接在 c 驱动器 (c:\dev) 而不是从我的主文件夹 (c:\users\me\dev) 中创建目录来解决。但我不必考虑。就我而言,它是新的 Eclipse 解压缩实例。我无法在 eclipse 文件夹中看到 .matadata 文件夹。靠着上帝的恩典,我解决了。


D
Darrin

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

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

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


S
Sid

我遇到了同样的问题,但由于某些原因,工作区中的 .lock 文件没有被删除。甚至创建一个新的工作空间也被锁定了。

所以我所做的是清理 Windows temp 文件夹、%PREFETCH% 文件夹和 %TEMP% 位置。重新启动系统,然后它允许删除 .lock 文件。

也许它会帮助某人。


v
vinod wakade

您的工作区似乎用于 Java TM,打开任务管理器并关闭 eclipse.exe 和 java TM 进程。


A
Arian Maghsoudnia

在我的情况下起作用的是重新启动系统。 (Ubuntu 20.04)


a
aulven

如果有人遇到与 STM32Cube 相关的问题(显然是基于 Eclipse 并且有同样的问题),那么上述建议都没有对我有用,这就是我修复它的方法,对于 Linux,虽然我想你可以找到Windows 中的相应路径也是如此。

$HOME 目录中,转到 .eclipse/com.st.stm32cube.ide.../configuration/settings

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


D
Drumnbass

在我的例子中,工作区位置 C:\ 之前有一个空格。我删除了那个空间,这就足够了:)