System.console() will return null
, since the only difference between using java
and javaw
is that for javaw
, there is no associated console window.
Here's a small test program you can use to demonstrate that:
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");
}
}
}
However, when running from within Eclipse, System.console()
will still return null
, even when started with java
.
In Eclipse's launch configuration, JRE tab, if you change the Runtime JRE to Alternate JRE, you can then change the Java executable from javaw
to java
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…