Подтвердить что ты не робот

Выполнить .jar файл из Java-программы

Как я могу запустить локальный файл jar из java-программы?

Файл jar не находится в пути класса программы-вызывающего Java.

4b9b3361

Ответ 1

Я предлагаю вам использовать ProcessBuilder и запустить новую JVM.

Вот что вам нужно начать:

ProcessBuilder pb = new ProcessBuilder("/path/to/java", "-jar", "your.jar");
pb.directory(new File("preferred/working/directory"));
Process p = pb.start();

Ответ 2

    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));

Ответ 3

Во-первых, описание вашей проблемы немного неясно. Я не понимаю, хотите ли вы загружать классы из файла jar для использования в вашем приложении, или в банке содержится основной файл, который вы хотите запустить. Я предполагаю, что это второй.

Если это так, у вас здесь много вариантов. Простейшим может быть следующее:

String filePath; //where your jar is located.
Runtime.exec(" java -jar " + filepath);

Вуаля... Если вам не нужно запускать файл jar, но загрузите классы из него, дайте мне знать.

Ответ 4

Другой способ сделать на окнах:

Runtime.getRuntime().exec("cmd /c start jarFile");

таким образом вы можете также установить приоритет своего процесса (нормальный/низкий/и т.д.)

Ответ 6

Вы можете запустить файл jar из того места, где хотите, используя только этот код.

    Desktop.getDesktop().open(new File("D:/FormsDesktop.jar"));

где

new File("your path to jar")

Надеюсь, что это поможет.

Спасибо.

Ответ 7

  • добавить библиотеку jar в свой проект
  • импортировать основной класс (см. манифест в файле jar)
  • вызывать основной статический метод с аргументами

    String args [] = { "-emaple", "value" }; PortMapperStarter.main(арг);

Ответ 8

1) Задайте путь класса из переменных среды

2) Перейдите в папку, в которой существует ваш файл jar

3) Выполните следующие команды с помощью командной строки

java -jar jarfilename