System.console()将返回null,因为使用java和javaw的唯一区别是对于javaw,没有关联的控制台窗口.
这是一个小测试程序,您可以用它来演示:
import javax.swing.JOptionPane;
public class ConsoleTest {
public static void main(String[] args) {
if (System.console() == null) {
JOptionPane.showMessageDialog(null, "System.console() is null");
} else {
JOptionPane.showMessageDialog(null, "System.console() is not null");
}
}
}
但是,从Eclipse中运行时,即使以java启动,System.console()仍将返回null.
在Eclipse的启动配置,JRE选项卡中,如果将Runtime JRE更改为Alternate JRE,则可以将Java可执行文件从javaw更改为java.