public static boolean cloneUrl(String url, String user, String password, File dir) {
String pullMsg = "";
// 标记拉取代码的标志
int pullFlag = 0;
// 提供用户名和密码的验证
UsernamePasswordCredentialsProvider provider = new UsernamePasswordCredentialsProvider(user, password);
// 指定要加载的代码路径
if (dir.exists()) {
deleteFolder(dir);
}
Git git = null;
try {
git = Git.cloneRepository().setURI(url).setDirectory(dir).setCredentialsProvider(provider).call();
pullMsg = "检出代码成功 success";
} catch (Exception e) {
return false;
} finally {
System.out.println(pullMsg + "--code--" + pullFlag);
if (git != null) {
git.close();
}
}
return true;
}
@Deprecated
private static void deleteFolder(File file) {
try {
if (file.isFile() || file.list().length == 0) {
file.delete();
} else {
File[] files = file.listFiles();
for (File getFile : files) {
deleteFolder(getFile);
getFile.delete();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}