По умолчанию текущий путь к классу включен в путь jython. Чтобы получить доступ к любому методу в пути, вы должны выполнить импорт.
package com.mycompany.jythontest;
import org.python.util.PythonInterpreter;
public class App
{
public static void sayHello(String hello) {
System.out.println(hello);
}
public static void main( String[] args )
{
PythonInterpreter py = new PythonInterpreter();
py.exec("from com.mycompany.jythontest import App");
py.exec("App.sayHello('hello')");
}
}
И если вы хотите получить доступ к экземпляру java в jython, вы можете использовать py.set(string, object)
, чтобы сделать его доступным в контексте. (Так же, как javax.scripting)
App app = new App();
py.set("appinstance", app);
py.exec("appinstance.sayHi('hello world')");