Runtime.getRuntime (). Exec problema del servidor 2003 del triunfo frente al servidor de la victoria 2008

StackOverflow https://stackoverflow.com/questions/3842997

Pregunta

Tengo algo de código Java de la siguiente manera:

try {
  String outString ="java -jar C:\\ami\\bin\\ImmediateSubmit.jar 12345 localhost";
  Runtime.getRuntime().exec(outString);
  out.println("SUBMITTED");
} 
catch (IOException e) {
  System.out.println("IO Exception parse");
  out.println("FAILED");
  e.printStackTrace();
}

Funciona bien en la victoria serv 2003, pero no en la victoria serv 2008.

Cualquier idea por qué?

¿Fue útil?

Solución

y stderr arroyos de la Process devueltos por Runtime#exec().

Process process = Runtime.getRuntime().exec(command);
InputStream stdout = process.getInputStream();
InputStream stderr = process.getErrorStream();

Esto devolverá lo que normalmente se ve al entrar en la llanura de comando en el símbolo del sistema, incluidos los errores. Su respuesta puede estar ahí. En resúmen: Cuando Runtime.exec () no lo hará , este es un excelente artículo que explica sus trampas en profundidad. Leer todas las 4 páginas. Contiene fragmentos de código votos.

Mi conjetura es que sea java no se reconoce como un comando (por ejemplo, falta de %PATH%), o que se trata de un problema de permisos de usuario. Por lo menos, que son las causas más comunes en casos como el.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top