Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何判断用户';java代码编译成功了吗?_Java_Php_Compilation_Compiler Errors_Sandbox - Fatal编程技术网

如何判断用户';java代码编译成功了吗?

如何判断用户';java代码编译成功了吗?,java,php,compilation,compiler-errors,sandbox,Java,Php,Compilation,Compiler Errors,Sandbox,我有一个运行在LAMP堆栈上的web应用程序,它允许用户将java代码写入HTML表单,但取决于代码编译是否成功,我想做不同的事情 我目前的做法是,PHP程序将使用用户的输入生成一个.java文件,在服务器上执行(我负责安全部分),然后检查是否输出了任何错误 我知道Java使用System.err流输出错误,有没有办法告诉我输出到控制台的内容?像一种侦听和区分程序输出流的方法吗?您可以检查javac退出代码。下面是javac退出代码的列表: static final int EXIT_O

我有一个运行在LAMP堆栈上的web应用程序,它允许用户将java代码写入HTML表单,但取决于代码编译是否成功,我想做不同的事情

我目前的做法是,PHP程序将使用用户的输入生成一个.java文件,在服务器上执行(我负责安全部分),然后检查是否输出了任何错误


我知道Java使用System.err流输出错误,有没有办法告诉我输出到控制台的内容?像一种侦听和区分程序输出流的方法吗?

您可以检查javac退出代码。下面是javac退出代码的列表:

static final int
    EXIT_OK = 0,        // Compilation completed with no errors.
    EXIT_ERROR = 1,     // Completed but reported errors.
    EXIT_CMDERR = 2,    // Bad command-line arguments
    EXIT_SYSERR = 3,    // System error or resource exhaustion.
    EXIT_ABNORMAL = 4;  // Compiler terminated abnormally
参考资料:

自Java6以来,您可以通过编程方式调用Java编译器(如果提供)。
请参见:

为什么不能使用编译后是否生成.java文件。请注意,在编译之前,请删除生成的旧java文件。哦,这是一个非常好的主意。从来没有想过这一点。”使用编译“not”.java”后是否生成.class文件真是太棒了,谢谢。而PHP在执行javac命令编译代码时可以返回退出代码。