Python интерпретирует файл с именем «__main__.py», хранящийся в zip-файле, если он вызывается с одним параметром. Поскольку jar-файлы - это zips, все, что вам нужно сделать, это назвать ваш скрипт Python как «__main__.py», или создать скрипт «__main__.py», который импортирует ваш основной скрипт, а из Java вызовите интерпретатор Python как внешний процесс. , передавая путь к файлу .jar в качестве единственного аргумента. (Импорт других модулей Python из скрипта Python будет работать так, как если бы файл .jar содержал структуру каталогов)
Затем вы можете связываться с процессом Python по каналу (stdin / stdout) или с помощью некоторого подхода клиент / сервер (xmlrpc, именованные каналы Unix и т. Д.)
Другой вариант - использовать Jython - интерпретатор Python на основе JVM, чтобы вы могли вызывать код Python непосредственно из кода Java -
Есть несколько вариантов интеграции кода Jython в Java-программы, некоторые из которых описаны здесь:
http://jythonpodcast.hostjava.net/jythonbook/en/1.0/JythonAndJavaIntegration.html#using-jython-within-java-applications