Ich versuche, Jython von einem Java-6-Anwendung aufrufen javax.script
mit:Aufruf von Python von Java über Scripting Engine (jython)?
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class jythonEx
{
public static void main (String args[]) throws ScriptException
{
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine pyEngine = mgr.getEngineByName("python");
try {
pyEngine.eval("print \"Python - Hello, world!\"");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Dies verursacht eine Nullpointer:
java.lang.NullPointerException
at jythonEx.main(jythonEx.java:12)
eine Ahnung, jemand tut, was falsch ich hier tue?
Edit:
Danke für die Antworten! Ich habe jython.jar zum Classpath hinzugefügt und es läuft ordnungsgemäß:
java -cp "./;jython.jar" jythonEx
Welches ist Zeile 12? pyEngine.eval (""); – ilikeorangutans
@ilikeorangutans: Ja, das ist die Linie 12. – OscarRyz
Das stimmt. Ich nehme an, dass der ScriptEngineManager die Python-Engine nicht finden kann, aber ich sehe nicht, was ich falsch mache, das würde das verursachen ... – griffin