Сергей Горностаев, спасибо, Сергей!
Если внешнее приложение - это неизвестная мне заранее программа в нативном коде, то я могу использовать класс Process, которому в виде строки передам то, что мне нужно запустить. Но мне нужно запустить именно java-программу.
Что-то мне подсказывает что запускать стороннее приложение как runtime.exec("C:\\Progra~1\\Java\\jdk1.12\\bin\\java.exe -jar C:\\Users\\Я\\Documents\\MyProjects\\MyProgram\\dist\\MyProgram.jar");
будет не совсем правильно.
Конечно, я могу попробовать импортировать класс из MyProgram.jar, поместив его в каталог, где его увидит компилятор, но какая гарантия что файл MyProgram.jar после этого не будет перекомпилирован и переложен в другой каталог? Есть ли в Java более гибкие механизмы запуска сторонних java-приложений?
Извините что спрашиваю, но после тщательного поиска я ответа так и не нашёл.
Модератор, у меня под комментарием Сергея Горностаева отсутствует кнопка "Ответить", тогда как под вашим комментарием она есть. Как я могу выбрать то, чего нет?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Если внешнее приложение - это неизвестная мне заранее программа в нативном коде, то я могу использовать класс Process, которому в виде строки передам то, что мне нужно запустить. Но мне нужно запустить именно java-программу.
Что-то мне подсказывает что запускать стороннее приложение как
runtime.exec("C:\\Progra~1\\Java\\jdk1.12\\bin\\java.exe -jar C:\\Users\\Я\\Documents\\MyProjects\\MyProgram\\dist\\MyProgram.jar");
будет не совсем правильно.
Конечно, я могу попробовать импортировать класс из MyProgram.jar, поместив его в каталог, где его увидит компилятор, но какая гарантия что файл MyProgram.jar после этого не будет перекомпилирован и переложен в другой каталог? Есть ли в Java более гибкие механизмы запуска сторонних java-приложений?
Извините что спрашиваю, но после тщательного поиска я ответа так и не нашёл.