Как я могу запустить локальный файл jar из java-программы?
Файл jar не находится в пути класса программы-вызывающего Java.
Как я могу запустить локальный файл jar из java-программы?
Файл jar не находится в пути класса программы-вызывающего Java.
Я предлагаю вам использовать ProcessBuilder
и запустить новую JVM.
Вот что вам нужно начать:
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));
Во-первых, описание вашей проблемы немного неясно. Я не понимаю, хотите ли вы загружать классы из файла jar для использования в вашем приложении, или в банке содержится основной файл, который вы хотите запустить. Я предполагаю, что это второй.
Если это так, у вас здесь много вариантов. Простейшим может быть следующее:
String filePath; //where your jar is located.
Runtime.exec(" java -jar " + filepath);
Вуаля... Если вам не нужно запускать файл jar, но загрузите классы из него, дайте мне знать.
Другой способ сделать на окнах:
Runtime.getRuntime().exec("cmd /c start jarFile");
таким образом вы можете также установить приоритет своего процесса (нормальный/низкий/и т.д.)
Может ли быть полезно следующее:
http://download.oracle.com/javase/tutorial/deployment/jar/jarclassloader.html
Вы можете запустить файл jar из того места, где хотите, используя только этот код.
Desktop.getDesktop().open(new File("D:/FormsDesktop.jar"));
где
new File("your path to jar")
Надеюсь, что это поможет.
Спасибо.
вызывать основной статический метод с аргументами
String args [] = { "-emaple", "value" }; PortMapperStarter.main(арг);
1) Задайте путь класса из переменных среды
2) Перейдите в папку, в которой существует ваш файл jar
3) Выполните следующие команды с помощью командной строки
java -jar jarfilename