Я пытаюсь создать модуль запуска для приложения Java, который будет автоматически обновлять / загружать файл jar в домашнюю область компьютера пользователя, а затем приступать к его выполнению.
Я пытался запустить файл jar, используя классы Process и Runtime, и у меня не было ничего, кроме успеха на моем собственном компьютере, но кажется, что 1:10 людей, которые пробуют это распределенное программное обеспечение (также в jar может показаться, что файл jar не работает (для справки, я убедился, что у всех людей, которые тестировали это приложение, была установлена новейшая версия Java).
Код, отвечающий за запуск файла JAR, выглядит следующим образом:
public static void startApplication() {
try {
Process proc = Runtime.getRuntime().exec("java -jar "+(saveDirectory + fileName));
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
Я ожидал, что файл jar fileName будет открыт в папке saveDirectory, однако в сценарии с компьютера на компьютер это не всегда имело место. Мне просто интересно, есть ли лучший способ сделать это, который обеспечит успех в 100% случаев.