Я пытаюсь выполнить скрипт python, который содержится внутри .jar. Это работает в среде Eclipse, но позже при попытке запустить из консоли с помощью java -jar my.jar это не удалось, потому что он не находит путь к файлу:
Caused by: java.io.FileNotFoundException: class path resource [test.py] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:
В Java я использую это:
File file = resourceLoader.getResource("classpath:test.py").getFile();
map.put("file", file.getPath());
CommandLine commandLine = new CommandLine("python.exe");
commandLine.addArgument("${file}");
commandLine.addArgument("-e");
commandLine.addArgument("env");
commandLine.addArgument("-i");
commandLine.addArgument("'" + id + "'");
commandLine.setSubstitutionMap(map);
Я нашел ответы, которые рекомендуют мне не использовать это resourceLoader.getResource("classpath:test.py").getFile();
, но resource.getInputStream()
. Как я могу преобразовать этот входной поток в объект File, чтобы выполнить его позже?