从Java调用Apache Cordova CLI

从Java调用Apache Cordova CLI,java,macos,cordova,process,cmd,Java,Macos,Cordova,Process,Cmd,我希望Apache Cordova CLI由Java进程调用,但不幸的是,Java进程没有等到它完成 这就是我所说的: StringBuffer sb = null; String cmd = "cd /location/generated && cordova create MyNewApp" try { Process p = Runtime.getRuntime().exec(cmd); p.waitFor();

我希望Apache Cordova CLI由Java进程调用,但不幸的是,Java进程没有等到它完成

这就是我所说的:

StringBuffer sb = null;
String cmd = "cd /location/generated && cordova create MyNewApp"

    try {
        Process p = Runtime.getRuntime().exec(cmd);
        p.waitFor();

        BufferedReader reader =
                new BufferedReader(new InputStreamReader(p.getInputStream()));
        sb = new StringBuffer();
        String line = "";

        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
我见过很多解决方案,说“waitFor()”就行了,但不幸的是,对我来说不是。我已经尝试过总是阅读和比较cordova cmd生成的最后一行代码,然后再完成,但这不是一个好方法。你有什么建议吗?

解决了: Cmd看起来像“cordova create/path/to/generated/app/Hello World”

请注意,在调用cmd之前,路径必须存在