Я работаю над проектом с использованием Java и Python, используя Java для графического интерфейса и Python для бэкэнд. Программа Java вызывает сценарий Python, когда кнопка нажата, используя следующий код:Вызов скрипта python из файла jar java
Runtime r = Runtime.getRuntime();
String pyScript = "resources/script.py";
String scriptPath = getClass().getResource(pyScript).toExternalForm();
// Strip "file/" from path
scriptPath = scriptPath.substring(scriptPath.indexOf("/") + 1);
Process p = r.exec("python " + scriptPath)
Сценарий питон находится в папке ресурсов в ГКЗ папке проекта Java. Этот код работает, когда я запускаю свою программу в моей среде IDE (IntelliJ), однако, когда я создаю файл .jar и пытаюсь запустить скрипт, ничего не происходит. Я могу подтвердить, что программа все еще находит скрипт в файле .jar. Как запустить скрипт?
Вставить 'System.out.println (" Scriptpath: "+ scriptPath);' перед 'r.exec (...)'. Может быть, это дает вам подсказку – JimHawkins
@ JimHawkins Я добавил JOptionDialog, чтобы отобразить это, когда я запускаю банку, и в ней находится скрипт python. –
Вы можете перенести сценарий из своего src и разместить его снаружи. Если его часть src, она входит в банку, которая сама является компактным файлом. Метод Alrernate - это динамически создавать ваш script.py во время выполнения, выполнять его и удалять .py-файл – Aditya