Немного больше об использовании Jython - была и моя доля проблем с этим. Обратите внимание, что это не лучший способ сделать это, но он отлично подходит для меня.
Я предполагаю, что вы хотите вызвать функцию Foo в модуле панели из кода Java, который принимает строку в качестве аргумента и возвращает строку:
PythonInterpreter interpreter = new PythonInterpreter();
// Append directory containing module to python search path and import it
interpreter.exec("import sys\n" + "sys.path.append(pathToModule)\n" +
"from bar import foo");
PyObject meth = interpreter.get("foo");
PyObject result = meth.__call__(new PyString("Test!"));
String real_result = (String) result.__tojava__(String.class);
The sys.path.append() часть необходимо только если ваш модуль не является частью пути поиска Python по умолчанию, что вполне может быть проблемой, если вы получите Import или Module, чтобы не находить ошибки. Также вам нужно отбросить объекты между версиями java и python, вам нужно будет посмотреть, что при необходимости, до сих пор мне нужны только примитивные типы, которые легко отличить, не уверен, что это легко для любых java-объектов.
Считая комментарии ниже, ОП, похоже, ищет ответ на совершенно другой вопрос. Я отмечу, что это закрыто ... на самом деле я не переписал вопрос. –