Je suis en train d'appeler Jython à partir d'une application Java 6 en utilisant javax.script
:Appel de Python depuis Java via un moteur de script (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();
}
}
}
Cela provoque une NullPointerException:
java.lang.NullPointerException
at jythonEx.main(jythonEx.java:12)
Est-ce que quelqu'un a une idée de ce que je fais mal ici?
Edit:
Merci pour les réponses! J'ai ajouté jython.jar au classpath et il fonctionne correctement:
java -cp "./;jython.jar" jythonEx
Lequel est la ligne 12? pyEngine.eval ("") ;? – ilikeorangutans
@ilikeorangutans: Oui, c'est la ligne 12. – OscarRyz
C'est vrai. Je présume que le ScriptEngineManager ne peut pas trouver le moteur python, mais je ne vois pas ce que je fais de mal qui causerait ça ... – griffin