java - 为什么使用 jproc 库使用 java 时 git commit 命令不起作用?
问题描述
我正在尝试编写一个代码来使用 git 提交,但它有时可以工作,而有时却不能工作。这是它的代码:
ProcResult result = new ProcBuilder("git")
.withArg("init")
.withWorkingDirectory(new File(dir))
.run();
result = new ProcBuilder("git")
.withArgs("add",".")
.run();
result = new ProcBuilder("git")
.withArgs("commit","-m").withArg("1st commit")
.run();
System.out.println("Successfully commited");
我尝试了类似下面给定代码的方法,但它仍然不起作用:
result = new ProcBuilder("git")
.withArgs("commit","-m").withArg(""+(char)34+"1st commit"+(char)34+"")
.run();
它抛出以下异常:
Exception in thread "main" org.buildobjects.process.ExternalProcessFailureException: External process 'git commit -m '1st commit'' returned 1 after 126ms
at org.buildobjects.process.Proc.<init>(Proc.java:126)
at org.buildobjects.process.ProcBuilder.run(ProcBuilder.java:205)
at ProjectInitializerAutomation.ProjectInitializerAutomation.Local.command(Local.java:90)
at ProjectInitializerAutomation.ProjectInitializerAutomation.Local.createFolder(Local.java:58)
at ProjectInitializerAutomation.ProjectInitializerAutomation.Local.create(Local.java:39)
at ProjectInitializerAutomation.ProjectInitializerAutomation.Driver.main(Driver.java:21)
解决方案
推荐阅读
- powershell - Powershell 这两个变量有什么区别
- node.js - 从 Package.json 脚本运行 BrowserSync 时出错
- android - “ADB Root 访问被禁用”即使启用了 root 访问
- css - 如何将 Angular Material 与 css 框架结合起来(bootsrtap/语义 UI/materialize)
- django - 解释 `<<: *name` 如何在 docker-compose 中引用 `&name`?
- haskell - 通用量化(或多态)类型类实例
- linux - 为什么 VS Code 终端不使用系统 http_proxy?
- ruby-on-rails - Rails yield 和 content_for 奇怪的行为,`yield :filter` 仅在放置在默认 yield 之后才有效
- python - 动态 URL 路由在 Django 中不起作用
- android - 即使我在项目中有 json,文件 google-services.json 也缺少错误