我正在使用ProcessBuilder从Git下载。这是我当前的代码:
Process process = null;
try {
String[] command = {"git", "clone", gitLink};
ProcessBuilder processBuilder = new ProcessBuilder(command);
processBuilder.directory(new File(gitPath));
process = processBuilder.start();
System.out.println("\n*** Console output is:");
InputStream processStdOutput = process.getInputStream();
Reader r = new InputStreamReader(processStdOutput);
BufferedReader br = new BufferedReader(r);
String line;
while ((line = br.readLine()) != null) { System.out.println("\t" + line); }
process.getOutputStream().close();
} catch (IOException e) { e.printStackTrace(); }
finally { if (process != null) { process.destroy(); } }
因此,gitLink
是我要下载的存储库的实际链接,而gitPath
是将其下载到我的PC上的位置。 gitPath
似乎可以正常工作,因为我通过执行命令ls
对其进行了测试。 gitLink
,但是什么也没有显示。我得到了Git存储库一秒钟(在正确的gitPath
文件夹中),然后消失了。另外,当我使用Git存储库的实际链接而不是变量gitLink
时,它可以完美运行。由于某种原因,它不喜欢变量gitLink。
这是有效的代码:
String[] command = {"git", "clone", "https://some-rep.git"};
其他事情都平等。