如何将Java编译器错误捕获到文件中?

我编译了一个Java程序

javac t1.java > a 

为了将错误消息重定向到文件a 。 但是a没有错误内容(它们仍然出现在终端中)。 该命令从Linux命令提示符执行。

t1.java的内容如下:

 class t1 { public static void main(String[] args) { System.out.printn("Hello World!"); // Display the string. } } 

所以现在有一个错误,即println被写为printn

如何在文件中捕获此错误消息?

尝试重定向stderr

 javac t1.java 2> error_file 

> foo意味着1> foo ,其中1是stdout流。

在bash中,如果要重定向stderr流,请使用2> foo

标准的Unix fileno是0 – stdin,1 – stdout,2 – stderr。