【发布时间】:2023-03-06 01:13:02
【问题描述】:
我目前正在使用 jython 和 java 编写一个简单的 hello world 程序。
该程序的设计方式是 jython 方法接受名称参数并返回欢迎消息。
我的问题是每当我从 java 访问 jython 方法时,它都会显示 nullponter 异常
我的 jython 脚本 (JythonHello.py):
class JythonHello:
def __init__(self, name):
self.name = name
def sayHello(self):
return "Hello "+ self.name
还有我的java代码:
public static void main(String[] args) {
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("src/jython/JythonHello.py");
PyObject callFunction = interpreter.get("sayHello");
PyObject result = callFunction.__call__(new PyString("Boban"));
String msg = (String) result.__tojava__(String.class);
System.out.println("output: " + msg);
}
有什么建议吗?
【问题讨论】:
-
是的。添加异常堆栈跟踪。仅作记录:您确定“src/....”是您调用 java main 的有效路径?
-
它只显示 java.lang.NullPointerException。我不确定路径。还有其他加载脚本文件的方法吗?
-
但是确定有行号,方法名?!
-
java.lang.NullPointerException at javaSide.JavaClass.main(JavaClass.java:16)
-
PyObject 结果错误 = callFunction.__call__(new PyString("Boban"));