能够从主要方法触发器下载文件,但不能通过 wget 从 Java 中的 Rest Service 后面下载文件

Able to download files from main method trigger But Not from behind Rest Service in Java via wget

我将这段代码包含在一个方法中,当我通过 main 方法调用时,它运行得非常好,并通过 wget 为我下载所需的文件。我可以在我的项目目录中看到该文件。

同时当我把这个方法暴露在一个rest svc后面,它把需要的url传递给方法,它似乎没有下载文件,虽然它通过了代码。 (在调试器模式下检查)。这是否意味着,它试图在其他地方下载它或者暴露在 rest svc 后面的 ProcessBuilder 在这里是一个问题?

    Runtime rt = Runtime.getRuntime();
    ProcessBuilder pb;
    int exitVal = 0;
    try {
        pb = new ProcessBuilder("wget", "-O", "myFile.csv",myFileUrl);
        pb.redirectErrorStream(true);
        Process downloadFirst = pb.start();
        BufferedReader reader = new BufferedReader(new InputStreamReader(downloadFirst.getInputStream()));
        while (reader.readLine() != null) {}
        exitVal = downloadFirst.waitFor();
        LOG.info("Downloaded my file with exitValue:" + exitVal);
    } catch (IOException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

如@MrSmith42 所述,如果我在从其余服务调用时指定完整路径,它会起作用。