我使用JGit API创建了一个本地存储库。完成所有处理后,我想删除本地仓库(这是一个简单的java.io.File)。但是File.delete()操作失败。我已经打电话了
org.eclipse.jgit.api.Git.close()
org.eclipse.jgit.lib.Repository.close()
是否需要进一步清理?
答案 0 :(得分:2)
我遇到的一件事是,如果你使用Git.cloneRepository()。call(),你需要关闭返回的结果,即
Git result = Git.cloneRepository()
....
.call();
try {
...
} finally {
result.close();
}
中的jgit-cookbook
此外,JGit中可能保持文件句柄处于打开状态的某些地方在JGit 3.5.1之后的某个时刻得到修复,请参阅this bug,因此如果您确定使用最新版本的JGit也可能有帮助仍在使用较旧的。