我在eclipse indigo中有一个带有m2e 1.2.0.20120903-1050 maven插件的maven项目。该项目包含maven system依赖项,并且这些jar文件被签入到git存储库。
这一切都很好,直到我需要切换到另一个分支,该分支的system依赖关系发生了变化。Git无法更新内容,因为文件已锁定。
这似乎是因为eclipse本身或代表m2e锁定了jar库。我试着关闭项目,但没有帮助,为了释放锁定,我不得不重启eclipse。
这是相当麻烦的。有什么技巧可以在不重启eclipse的情况下释放锁吗?
发布于 2014-08-28 19:57:53
视窗
您可以从http://technet.microsoft.com/de-de/sysinternals/bb896655.aspx中手动使用handle.exe
handle.exe .jar会按句柄id和进程id给你一个列表,所有的jar's.handle.exe -c <handle-id> -p <process-id>都会终止这个句柄,如果是这样的话,可能会抛出一个异常,如果是这样的话,请填写一个错误报告给Eclipse的错误报告系统,让我们知道死锁。编辑:
使用管理员权限执行该命令非常重要(这要归功于Paulo )。
发布于 2013-03-17 19:28:31
这不是Windows的问题。这是Eclipse正在做的事情的问题。它使文件在Eclipse运行时期间保持打开状态。这是一种可怕的做法。
发布于 2013-12-11 18:04:43
您可以下载Sysinternals Suite from Microsoft并使用handle.exe或procexp.exe程序来查找哪个程序拥有该jar的句柄。在Eclipse中关闭句柄似乎是安全的(我没有注意到任何副作用)。
在sysinternals站点上记录了如何使用handle.exe,以及对于procexp.exe,使用Find ->、Find Handle或DLL菜单选项。键入锁定的jar文件的名称,然后在子窗口中选择锁定进程。在主窗口中,它应该显示一个进程内文件的句柄,您可以检查该进程是否为您所认为的进程,然后右键单击该句柄并选择Close Handle。
您应该以管理员权限运行这两个任务。
网上还提供了其他指南:
https://stackoverflow.com/questions/14990820
复制相似问题