【发布时间】:2014-01-26 11:50:00
【问题描述】:
我正在尝试将 GCC 编译器产生的错误消息重定向到一个文件中 在使用 ProcessBuilder 编译 C 程序期间。代码是这样的
ProcessBuilder processBuilder1 = new ProcessBuilder("/usr/bin/gcc",
"-o"+"/home/hipad/hipad/UserProject/example","/home/hipad/hipad/UserProject/example.c
2>/home/hipad/hipad/UserProject/example.gccmessages");
processBuilder1.start();
但这会出错。错误是
"/usr/bin/gcc,-o/home/hipad/hipad/UserProject/example,/home/hipad/hipad/UserProject/example.c 2>/home/hipad/hipad/UserProject/example.gccmessages": error=2, No such file or directory
任何人都可以建议这样做的方法吗?
【问题讨论】:
-
你遇到了什么错误?
-
@Lakshmi_java.io.IOException: 无法运行程序“/usr/bin/gcc,-o/home/hipad/hipad/UserProject/example,/home/hipad/hipad/UserProject/example .c 2>/home/hipad/hipad/UserProject/example.gccmessages": error=2, 没有这样的文件或目录
-
检查 example.gccmessages 是否确实存在于该路径中。
-
代码(如图所示)实际上不会编译干净。 1) 为了尽快获得更好的帮助,请发布SSCCE。 2) 阅读(并实施)所有When Runtime.exec() won't 的建议。那可能会解决问题。如果没有,它应该提供更多关于失败原因的信息。然后忽略它引用
exec并(继续)使用ProcessBuilder构建Process。
标签: java redirect stderr processbuilder