Programación General > Java
Ejecutar un Jar desde un aplicación
MercedesH:
Asi si funciona... Cómo puedo colocarlo para q lo lea del mismo directorio donde este el Jar?
shadow_rev:
Por lo que veo, tienes un problema de "enrutamiento", por así decirlo...
Cuando ejecutas java -jar C:DesarrollosEjecutarEjecutar.jar, va a buscar el archivo configuracion.txt desde el directorio donde se encuentre actualmente; o sea, si se ejecuta desde C:temp, el programa intenta acceder el archivo configuracion.txt en la carpeta C:temp. Intenta obteniendo la ruta absoluta del ejecutable dinámicamente (ni idea de cómo hacerlo :blink: , consulta en la documentación de Java), y esa ruta se la pones al llamado del txt.
:suerte:
m0skit0:
Mi opción preferida sería pasarle la ruta del fichero de texto al JAR como argumento (algo que nunca he probado). Mira a ver si te funciona esto:
--- Código: Java --- public class Echo { public static void main (String[] args) { for (String s: args) { System.out.println(s); } }}
Y lo guardas como Echo.jar. Si ejecutas java -jar Echo.jar "Hola" "Halo" "Hilo" debería aparecer como salida:
--- Código: Text --- HolaHaloHilo
Así podrías pasarle la ruta del fichero de texto como argumento, esto es, java -jar C:/Desarrollos/Ejecutar/Ejecutar.jar "C:configuracion.txt"
Y en tu código (no olvides declarar args[] como parámetro en main)
--- Código: Java --- public static void main (String[] args) {[...]ip = ManejoArchivos.LeerArchivo(args[0], 2);
--- Cita de: "shadow_rev" ---Intenta obteniendo la ruta absoluta del ejecutable dinámicamente
--- Fin de la cita ---
Application.ExecutablePath, pero no creo que funcione puesto que no hay ejecutable, sólo byte-code Java. Puedes probar esto también, a lo mejor funciona (teniendo el "configuracion.txt" en el mismo directorio que el JAR):
--- Código: Java --- ip = ManejoArchivos.LeerArchivo(Application.ExecutablePath + "configuracion.txt", 2);
Espero haberme explicado, un saludo.
MercedesH:
ok, gracias por responder... lo probaré...
Canabix:
Prueba con este codigo, intenta con javaw
--- Código: Java ---try { Runtime r = Runtime.getRuntime(); //Abrir Archivo JAR Process p=r.exec("JAVAW.EXE -jar Ejemplo1.jar"); } catch(Exception ex) { System.out.println(ex.toString()); }
Navegación
[*] Página Anterior
Ir a la versión completa