首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >eclipse锁定jar文件

eclipse锁定jar文件
EN

Stack Overflow用户
提问于 2013-02-21 06:05:16
回答 6查看 3.4K关注 0票数 6

我在eclipse indigo中有一个带有m2e 1.2.0.20120903-1050 maven插件的maven项目。该项目包含maven system依赖项,并且这些jar文件被签入到git存储库。

这一切都很好,直到我需要切换到另一个分支,该分支的system依赖关系发生了变化。Git无法更新内容,因为文件已锁定。

这似乎是因为eclipse本身或代表m2e锁定了jar库。我试着关闭项目,但没有帮助,为了释放锁定,我不得不重启eclipse。

这是相当麻烦的。有什么技巧可以在不重启eclipse的情况下释放锁吗?

EN

回答 6

Stack Overflow用户

发布于 2014-08-28 19:57:53

视窗

您可以从http://technet.microsoft.com/de-de/sysinternals/bb896655.aspx中手动使用handle.exe

  1. handle.exe .jar会按句柄id和进程id给你一个列表,所有的jar's.
  2. handle.exe -c <handle-id> -p <process-id>都会终止这个句柄,如果是这样的话,可能会抛出一个异常,如果是这样的话,请填写一个错误报告给Eclipse的错误报告系统,让我们知道死锁。

编辑:

使用管理员权限执行该命令非常重要(这要归功于Paulo )。

票数 5
EN

Stack Overflow用户

发布于 2013-03-17 19:28:31

这不是Windows的问题。这是Eclipse正在做的事情的问题。它使文件在Eclipse运行时期间保持打开状态。这是一种可怕的做法。

票数 3
EN

Stack Overflow用户

发布于 2013-12-11 18:04:43

您可以下载Sysinternals Suite from Microsoft并使用handle.exeprocexp.exe程序来查找哪个程序拥有该jar的句柄。在Eclipse中关闭句柄似乎是安全的(我没有注意到任何副作用)。

在sysinternals站点上记录了如何使用handle.exe,以及对于procexp.exe,使用Find ->、Find Handle或DLL菜单选项。键入锁定的jar文件的名称,然后在子窗口中选择锁定进程。在主窗口中,它应该显示一个进程内文件的句柄,您可以检查该进程是否为您所认为的进程,然后右键单击该句柄并选择Close Handle。

您应该以管理员权限运行这两个任务。

网上还提供了其他指南:

  • http://www.timstall.com/2009/02/killing-file-handles-but-not-process.html
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14990820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档