java - 通过 java 应用程序使用 git

标签 java git command-line

我想通过我的 java 应用程序创建 git 存储库。我正在尝试这样做:

builder = new ProcessBuilder(
                "\"C:\\Program Files\\Git\\bin\\sh.exe\" --login" , "git init", "exit");
builder.redirectErrorStream(true);
builder.directory(new File("d:\\repos\\"+newRepoForm.getName()));
p = builder.start();
p.waitFor();
reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = reader.readLine()) != null) {
    System.out.println(line);
}

但我得到了异常(exception):

java.io.IOException: Cannot run program ""C:\Program Files\Git\bin\sh.exe" --login" (in directory "d:\repos\dgngdn"): CreateProcess error=87, The parameter is incorrect

这是我第一次做这种事情,所以我的错误可能是微不足道的。

最佳答案

您可能会发现使用库比从命令行调用 git 更容易。查看JGit

更一般地说,libgit2也是许多语言的流行库,但我没有看到列出的 Java 绑定(bind)(尽管理论上使用 JNA 创建一个并不会太难)。

关于java - 通过 java 应用程序使用 git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20809748/

相关文章:

java - 替换 If 语句?

java - Triple Des 代码返回不同长度的密码

java - 尝试使用camel路由执行shell脚本并面临以下问题

windows - 在 Mac 上传输本地 git repo

macos - git pull origin master 返回 fatal error : invalid refspec

java - JAX-RS/Jersey 中 vararg 数组的路径段序列?

git - 如何防止 git 要求我提交子模块修改

Linux Bash 脚本如何使用范围参数

java - 记录数据、在命令行中输入数据、限制整数长度

docker - 使用脚本下载BAIR训练的Caffe模型