【发布时间】:2017-11-24 19:57:03
【问题描述】:
我无法删除克隆了远程 github 存储库的文件夹。
我的代码如下。
public class JGitDemo {
public static void main(String[] arg) {
try {
String localFolder="F:/demojavarepo";
Git.cloneRepository().setURI("https://github.com/skeeto/sample-java-project")
.setDirectory(new File(localFolder)).setBranch("master").call();
// Some Processing on the cloned directory
FileUtils.forceDelete(new File(localFolder));
//FileUtils.deleteDirectory(new File(localFolder));
//FileUtils.deleteQuietly(new File(localFolder));
//FileUtils.forceDeleteOnExit(new File(localFolder));
} catch (GitAPIException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
基本上,在克隆 repo 后,我对其进行一些处理,最后我想删除本地文件夹。
但是,当我尝试删除文件夹时,出现以下错误。
java.io.IOException: Unable to delete file: F:\demojavarepo\.git\objects\pack\pack-b7dc7f9db205afdbdfbb7608f098c2ee38fb4875.pack
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2400)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1721)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1617)
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2391)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1721)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1617)
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2391)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1721)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1617)
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2391)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1721)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1617)
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2391)
at repoclient.JGitDemo.main(JGitDemo.java:22)
我正在使用 Apache Commons IO FileUtils 类 forceDelete 方法。我 事件在 FileUtils 类上尝试了其他方法,但无法删除文件夹。
我正在使用 JGit api 使用 java 克隆文件夹中的存储库。
我应该以某种方式断开本地 git 文件夹或以某种方式解除本地 git 文件夹与远程 git 的关联,以便成功删除。
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: java git apache-commons jgit