import java.io.File;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
/**
* api调用git下载
* @author
* @date 2016-06-16
*
* 实现api调用git下载功能,至少需要以下jar包:
* org.eclipse.jgit-4.3.1.201605051710-r.jar
* jsch-0.1.53.jar
*/
public class GitUtil {
public static void main(String[] args) throws Exception {
cloneRepository("192.168.0.233/test.git","xxxxxxxx", "xxxxxxxx", "D:/MyGitTest");
}
/**
* api调用git下载
* @param gitUrl Git地址
* @param userName git用户名
* @param password 密码
* @param savePath 下载后的项目存储路径
* @return
* @throws Exception
*/
public static void cloneRepository(String gitUrl,String userName,String password,String savePath) throws Exception{
File file = new File(savePath);
if(file.exists()){
deleteDir(file);
}
// System.out.println("Cloning from " + GitUrl + " to " + savePath);
Git.cloneRepository()
.setURI(gitUrl)
.setDirectory(file)
.setCredentialsProvider(new UsernamePasswordCredentialsProvider(userName, password))
.call();
}
private static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i=0; i<children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
//
return dir.delete();
}
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
/**
* api调用git下载
* @author
* @date 2016-06-16
*
* 实现api调用git下载功能,至少需要以下jar包:
* org.eclipse.jgit-4.3.1.201605051710-r.jar
* jsch-0.1.53.jar
*/
public class GitUtil {
public static void main(String[] args) throws Exception {
cloneRepository("192.168.0.233/test.git","xxxxxxxx", "xxxxxxxx", "D:/MyGitTest");
}
/**
* api调用git下载
* @param gitUrl Git地址
* @param userName git用户名
* @param password 密码
* @param savePath 下载后的项目存储路径
* @return
* @throws Exception
*/
public static void cloneRepository(String gitUrl,String userName,String password,String savePath) throws Exception{
File file = new File(savePath);
if(file.exists()){
deleteDir(file);
}
// System.out.println("Cloning from " + GitUrl + " to " + savePath);
Git.cloneRepository()
.setURI(gitUrl)
.setDirectory(file)
.setCredentialsProvider(new UsernamePasswordCredentialsProvider(userName, password))
.call();
}
private static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i=0; i<children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
//
return dir.delete();
}