ProcessBuilder不在服务器上工作,但在localhost上工作正常

时间:2016-06-28 16:53:44

标签: java webserver runtime processbuilder

我尝试执行创建自定义文件的外部.exe,并将其保存在服务器上,我可以

我的ProcessBuilder代码在localhost上正常工作,但是当我在我的服务器上部署它时,文档没有创建,我的java web服务器没有错误

我尝试使用ProcessBuilder的环境变量,但没有运气仍然无法正常工作

我的想法

Pleaze帮助我解决这个问题

这是我的processBuilder代码,可以在localhost上正常工作

try {
    ProcessBuilder processBuilder = new ProcessBuilder("pathtoExe\\executable.exe");
    processBuilder.redirectErrorStream(true);
    processBuilder.redirectOutput();
    processBuilder.redirectInput();
    Process process = processBuilder.start();
    InputStream is = process.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String line;
    String s;
    System.out.printf("Output of running is:");
    while ((line = br.readLine()) != null) {
        System.out.print("ligne out: ");
        System.out.println(line);
    }
    BufferedReader stdError = new BufferedReader(
        new InputStreamReader(process.getErrorStream()));
    while ((s = stdError.readLine()) != null) {
        System.out.println(s);
    }
    process.waitFor();
    System.out.println(process.exitValue());
}
catch (IOException| InterruptedException e) {
    e.printStackTrace();
}

1 个答案:

答案 0 :(得分:0)

如果它对某人有帮助,我发现启动glassfish服务的用户没有权利在网络上执行。

我为用户提供了良好的权利和Voilà..

感谢。