【问题标题】:How to run grunt commands in git-bash using java class program and display in console如何使用 java 类程序在 git-bash 中运行 grunt 命令并在控制台中显示
【发布时间】:2018-08-16 23:24:05
【问题描述】:

我需要从这个类文件中打开运行 grunt task runner 和 Git 命令,但不知道如何传递命令。我尝试了网上指定的所有命令,但它们只针对 cmd 进行锻炼。我也不能了解所有那些 /k 和 /c 那些标签。我在哪里可以找到所有这些参考。 1.更改目录 2.run grunt task -(grunt , grunt watch...)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Cmdtesttwo {

public static void main(String[] args) throws IOException {

ProcessBuilder builder = new ProcessBuilder("C:\\Program Files\\Git\\git- 
bash.exe"," grunt");
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new 
InputStreamReader(p.getInputStream()));
String line;
while (true) {
line = r.readLine();
     if (line == null) { break; }
     System.out.println(line);
 }


}
}

【问题讨论】:

    标签: shell automation gruntjs git-bash grunt-contrib-watch


    【解决方案1】:

    您可以像下面这样简单地执行此操作,在这里您的命令/程序输出将打印在 output.txt 文件中。不要忘记创建日志文件夹:-

    String[] command ={"C:\\Program Files\\Git\\git-bash.exe", "grunt"};
    ProcessBuilder pb = new ProcessBuilder(command);
    pb.redirectOutput(new File("C:\\log\\output.txt"));
    try {
        Process p = pb.start();
        p.waitFor();       
    
    } catch (InterruptedException e) {
        e.printStackTrace();
    }catch (Exception e1) {
        e1.printStackTrace();
    }
    

    【讨论】:

    • 它实际上返回访问被拒绝。
    • 您的程序无权访问 C:\\Program Files\\Git\\ 您需要提供对 exe 文件的正确访问权限。
    • 我该怎么做?
    • 嗨,试试我修改后的答案。尝试在我的答案中使用我的最后一个选项。让我知道输出。
    • 用修改后的方式试了 - 无法运行程序 "C:\Program Files\Git\git-bash.exe grunt": CreateProcess error=2, 系统找不到指定的文件
    猜你喜欢
    • 2010-12-16
    • 1970-01-01
    • 2020-03-03
    • 2020-01-03
    • 2019-03-25
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    相关资源
    最近更新 更多