Java 干净利落地关闭它
我已经使用jgitapi创建了一个本地存储库。当所有处理完成后,我想删除本地repo(这是一个简单的java.io.File)。但是File.delete()操作失败。我已经在打电话了Java 干净利落地关闭它,java,jgit,filehandle,Java,Jgit,Filehandle,我已经使用jgitapi创建了一个本地存储库。当所有处理完成后,我想删除本地repo(这是一个简单的java.io.File)。但是File.delete()操作失败。我已经在打电话了 org.eclipse.jgit.api.Git.close() org.eclipse.jgit.lib.Repository.close() 是否需要进一步清理?我遇到的一件事是,如果使用Git.cloneRepository().call(),则需要关闭返回的结果,即 Git result = G
org.eclipse.jgit.api.Git.close()
org.eclipse.jgit.lib.Repository.close()
是否需要进一步清理?我遇到的一件事是,如果使用Git.cloneRepository().call(),则需要关闭返回的结果,即
Git result = Git.cloneRepository()
....
.call();
try {
...
} finally {
result.close();
}
另见
此外,JGit中一些可能保持文件句柄打开的位置在JGit 3.5.1之后的某个时间点得到了修复,请参阅,因此,如果您仍在使用较旧版本的JGit,那么它也可能有助于确保您使用最新版本的JGit。我将使用它来查找仍有文件打开的位置。非常感谢!关闭cloneRepository()返回的Git句柄修复了该问题。我使用的是3.6.1,所以JGit版本不是问题