首页 > 解决方案 > 为什么使用 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)

标签: javagit

解决方案


推荐阅读