Ejecución de un .jar mediante Runtime.getRuntime().exec()

publicado por: Anonymous

Colegas necesito ayuda con una sentencia en Java. Tengo una aplicación en un .jar que mando a ejecutar con la sentencia:

    Runtime.getRuntime().exec(java -jar "/direccion/app.jar");

Lo que ocurre es que la aplicación que se está ejecutando dentro del .jar no se termina de ejecutar por completo. Me explico: si la aplicación necesita analizar 20 objetos solo analiza 10 de ellos. No sé qué puede suceder pues el código que está dentro del .jar funciona perfectamente de manera independiente, es decir, como clases java analizan lo 20 objetos que debe analizar. Necesito usar la aplicación como .jar y no entiendo qué puede estar pasando. Si alguien pudiese ayudarme lo agradecería.

solución

El código que usas es correcto.

Tienes que comprobar que el .jar funcione. Que el programa funcione correctamente en las clases, no implica que después de compilar y empaquetar sea así.

Prueba a ejecutar el .jar a través de la línea de consola (o terminal si estás en Linux) a mano. Probablemente tengas el mismo problema.

Si no funciona, prueba a usar esto:

// Run a java app in a separate system process
Process proc = Runtime.getRuntime().exec("java -jar /direccion/app.jar");

Sería también muy interesante que ojeaséis esta respuesta de la web inglesa:

https://stackoverflow.com/questions/15700879/how-to-run-a-java-executable-jar-in-another-java-program

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *