干净地关闭 JGit
Cleanly shutdown JGit
我已经使用 JGit API 创建了一个本地存储库。完成所有处理后,我想删除本地存储库(这是一个简单的 java.io.File)。但是 File.delete() 操作失败。我已经在打电话了
org.eclipse.jgit.api.Git.close()
org.eclipse.jgit.lib.Repository.close()
是否需要进一步清理?
我 运行 感兴趣的一件事是,如果你使用 Git.cloneRepository().call(),你需要关闭返回的结果,即
Git result = Git.cloneRepository()
....
.call();
try {
...
} finally {
result.close();
}
另见 this code snippet from the jgit-cookbook
此外,在 JGit 3.5.1 之后的某个时间点修复了 JGit 中可能保持文件句柄打开的一些地方,请参阅 this bug,因此它也可能有助于确保您使用最新版本的 JGit如果您仍在使用旧版本。
我已经使用 JGit API 创建了一个本地存储库。完成所有处理后,我想删除本地存储库(这是一个简单的 java.io.File)。但是 File.delete() 操作失败。我已经在打电话了
org.eclipse.jgit.api.Git.close()
org.eclipse.jgit.lib.Repository.close()
是否需要进一步清理?
我 运行 感兴趣的一件事是,如果你使用 Git.cloneRepository().call(),你需要关闭返回的结果,即
Git result = Git.cloneRepository()
....
.call();
try {
...
} finally {
result.close();
}
另见 this code snippet from the jgit-cookbook
此外,在 JGit 3.5.1 之后的某个时间点修复了 JGit 中可能保持文件句柄打开的一些地方,请参阅 this bug,因此它也可能有助于确保您使用最新版本的 JGit如果您仍在使用旧版本。