SoloCodigo
Programación General => Java => Mensaje iniciado por: aisbel en Viernes 8 de Mayo de 2009, 18:33
-
Hola a todos,
voy a exponeros una duda que llevo tiempo intentando resolver:
Quiero ejecutar una aplicacion desde otra aplicacion en java.
La idea es tener un fichero con una extension, por ejemplo: lanzador.drv
De forma que ese fichero, contenga lo necesario para ejecutar una aplicacion, por ejemplo:
lanzador.drv
----------------
java -jar /home/Hola.jar
Quiero hacerlo de esta forma, ya que cada aplicacion a ejecutar, tendra su lanzador.drv donde diga cómo se tiene que ejecutar.
Y desde código java, poder ejecutar el contenido de lanzador.drv.
He intentado hacer lo siguiente:
public pruebaExec() {
Runtime r = Runtime.getRuntime();
try {
Process p = r.exec("/home/lanzador.drv");
}
catch (IOException e) {
System.err.println(e.getMessage());
}
}
pero no funciona, ya que dice que lanzador.drv no es un archivo ejecutable.
Sabeis de qué otro modo podría resolver el problema??
Gracias de antemano.... :)
-
Por lo que veo parece que estás trabajando en GNU/Linux o en algún sistema operativo similar (por lo del /home en el r.exec).
Forma más complicada: lee el contenido del archivo a un string y utiliza ese string como parámetro de r.exec. Lo bueno es que te va a funcionar en cualquier sistema operativo.
Forma más fácil: en vez de que el archivo sea lanzador.drv haz que sea un script shell. Por ejemplo que sea un lanzador.sh (en Windows debería ser lanzador.bat) y dale permiso de ejecución si está en un entorno tipo UNIX (GNU/LInux, etc). Tiene la desventaja de no ser muy portable (entre diferentes sistemas operativos).