¿Cómo podría ejecutar un archivo jar local desde un progtwig java?
El archivo jar no está en la ruta de clase del progtwig llamador de Java.
Sugiero que use ProcessBuilder
y comience una nueva JVM.
Aquí hay algo para que comiences:
ProcessBuilder pb = new ProcessBuilder("/path/to/java", "-jar", "your.jar"); pb.directory(new File("preferred/working/directory")); Process p = pb.start();
Process proc = Runtime.getRuntime().exec("java -jar Validate.jar"); proc.waitFor(); // Then retreive the process output InputStream in = proc.getInputStream(); InputStream err = proc.getErrorStream(); byte b[]=new byte[in.available()]; in.read(b,0,b.length); System.out.println(new String(b)); byte c[]=new byte[err.available()]; err.read(c,0,c.length); System.out.println(new String(c));
Otra forma de hacerlo en Windows es:
Runtime.getRuntime().exec("cmd /c start jarFile");
de esta manera puede establecer la prioridad de su proceso también (normal / bajo / etc.)
Primero, la descripción de su problema no está clara. No entiendo si desea cargar las clases del archivo jar para usarlas en su aplicación o si el archivo contiene el archivo principal que desea ejecutar. Asumiré que es el segundo.
Si es así, tienes muchas opciones aquí. El más simple sería el siguiente:
String filePath; //where your jar is located. Runtime.exec(" java -jar " + filepath);
Voila … Si no necesitas ejecutar el archivo jar pero más bien carga las clases, avísame.
¿Podría ser útil algo como lo siguiente?
http://download.oracle.com/javase/tutorial/deployment/jar/jarclassloader.html
Puede ejecutar un archivo jar desde donde desee utilizando solo este código de una línea.
Desktop.getDesktop().open(new File("D:/FormsDesktop.jar"));
dónde
new File("your path to jar")
Espero eso ayude.
Gracias.
Invocar el método estático main con argumentos
String args[] = {"-emaple","value"}; PortMapperStarter.main(args);
1) Establecer la ruta de clases desde variables de entorno
2) Ir a la carpeta donde su archivo jar existe
3) Ejecute los siguientes comandos a través del símbolo del sistema
java -jar jarfilename