Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 干净利落地关闭它_Java_Jgit_Filehandle - Fatal编程技术网

Java 干净利落地关闭它

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

我已经使用jgitapi创建了一个本地存储库。当所有处理完成后,我想删除本地repo(这是一个简单的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();
    }
另见


此外,JGit中一些可能保持文件句柄打开的位置在JGit 3.5.1之后的某个时间点得到了修复,请参阅,因此,如果您仍在使用较旧版本的JGit,那么它也可能有助于确保您使用最新版本的JGit。

我将使用它来查找仍有文件打开的位置。非常感谢!关闭cloneRepository()返回的Git句柄修复了该问题。我使用的是3.6.1,所以JGit版本不是问题