Foros del Web » Programación para mayores de 30 ;) » Java »

No funciona Runtime.getRuntime().exec(....)

Estas en el tema de No funciona Runtime.getRuntime().exec(....) en el foro de Java en Foros del Web. Hola: Tengo una aplicación en java y quiero que al pulsar en un botón se lance una nueva aplicación. Esta nueva aplicación también está en ...
  #1 (permalink)  
Antiguo 05/11/2008, 11:50
 
Fecha de Ingreso: febrero-2008
Mensajes: 65
Antigüedad: 16 años, 2 meses
Puntos: 0
No funciona Runtime.getRuntime().exec(....)

Hola:

Tengo una aplicación en java y quiero que al pulsar en un botón se lance una nueva aplicación. Esta nueva aplicación también está en java y recibe 2 parámetros de entrada.

Lo que tengo es lo siguiente:

Código:
Runtime ejecutor = Runtime.getRuntime();
        Process proceso;
        try {
            String javaHome = "C:\\Archivos de programa\\Java\\jdk1.6.0_02"; // Directorio JAVA_HOME
            String classpath = "T:\\05012\\Ges\\Desarrollo\\Ejemplo\\build\\classes\\m2012"; // Directorio de clases de la aplicación que quiero lanzar
            String ficheroIN = "T:/05012/Ges/Desarrollo/Informes/m2012.xml";
            String ficheroOUT = "T:/05012/Ges/Desarrollo/Informes/m2012.pdf";
            proceso = ejecutor.exec(javaHome + "\\bin\\java.exe -classpath " + classpath + " ReportApplication ficheroIN ficheroOUT");
        } catch (Exception ex) {
            ex.printStackTrace();
        }
ReportApplication es la clase que contiene el main() y lo que hace es coger el fichero xml y crear un fichero pdf

Al ejecutar no me da ningún error ni excepción pero el pdf no se genera.

¿Qué puedo hacer mal??

Gracias
  #2 (permalink)  
Antiguo 11/09/2009, 07:35
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: No funciona Runtime.getRuntime().exec(....)

Tu problema son los espacion en blanco
para evitar este problema te recomiendo que crees un String[] con todos los parametros de tu execucion

ej

Runtime ejecutor = Runtime.getRuntime();
Process proceso;
try {
String javaHome = "C:\\Archivos de programa\\Java\\jdk1.6.0_02"; // Directorio JAVA_HOME
String classpath = "T:\\05012\\Ges\\Desarrollo\\Ejemplo\\build\\class es\\m2012"; // Directorio de clases de la aplicación que quiero lanzar
String ficheroIN = "T:/05012/Ges/Desarrollo/Informes/m2012.xml";
String ficheroOUT = "T:/05012/Ges/Desarrollo/Informes/m2012.pdf";
String[] cmd = new String[]{javaHome, "\\bin\\java.exe", "-classpath", classpathm, ReportApplication , ficheroIN, ficheroOUT};
proceso = ejecutor.exec(cmd);
} catch (Exception ex) {
ex.printStackTrace();
}
con esto deberia funcionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:35.