2012-01-23 9 views
6

Cuando uso System.console desde Eclipse Helios, siempre devuelve null.System.console() devuelve un valor nulo de Eclipse pero está correcto con el símbolo del sistema

Sin embargo, cuando lo uso directamente desde la línea de comandos (es decir, compilar y ejecutar un código fuente java manualmente desde el símbolo del sistema), obtengo un objeto de consola.

Para saber, por qué sucede esto revisé this enlace. Según él, cuando ejecuto mi código Java desde Eclipse, un planificador de trabajo en segundo plano debe comenzar mi JVM. ¿Qué significa esto?

¿Y qué tan diferente es mi JVM comenzó cuando lo inicié desde la línea de comandos?

También miré this enlace. Aquí McDowell dice que cmd.exe es un dispositivo de consola. Entonces, ¿de nuevo estoy confundido de que exactamente es un dispositivo de consola?

+1

puede encontrar su respuesta de este hilo http://stackoverflow.com/questions/104254/java-io-console-support-in-eclipse -ide –

Respuesta

2

System.console() devuelve nulo si no hay consola.

Puede solucionar esto ya sea por adding a layer of indirection to your code o ejecutando el código en una consola externa y attaching a remote debugger.

También, de acuerdo a la docs:

Si la máquina virtual se inicia automáticamente, por ejemplo por un planificador de tareas de fondo, entonces normalmente no tiene una consola.

Cuestiones relacionadas