Programación General > Java

 Ejecutar un Jar desde un aplicación

<< < (3/3)

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

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa