L'appel de Python à partir de Java par le moteur de script (python)?
Je suis en train d'appeler Jython de Java 6 application à l'aide de javax.script
:
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 exception NullPointerException:
java.lang.NullPointerException
at jythonEx.main(jythonEx.java:12)
Quelqu'un a une idée de ce que je fais mal?
Edit:
Merci pour les réponses! J'ai ajouté jython.jar pour le classpath et il fonctionne correctement:
java -cp "./;jython.jar" jythonEx
Celui qui est de la ligne 12? pyEngine.eval("");?
Oui, c'est la ligne 12.
C'est le droit. Je suis en supposant que les ScriptEngineManager ne pouvez pas trouver le python moteur, mais je ne vois pas ce que je fais mal, ce serait la cause...
Oui, c'est la ligne 12.
C'est le droit. Je suis en supposant que les ScriptEngineManager ne pouvez pas trouver le python moteur, mais je ne vois pas ce que je fais mal, ce serait la cause...
OriginalL'auteur griffin | 2010-04-20
Vous devez vous connecter pour publier un commentaire.
Vous devez enregistrer votre moteur premier.
À partir de: ScriptEngineManager.getEngineByName:
Le guide de l'utilisateur dit à utiliser avec la JSR-223 vous devez:
as-tu fais cela?MODIFIER
À propos de votre commentaire: je pense que vous devriez ouvrir une nouvelle question, vous obtiendrez de meilleures réponses.
Super!, probablement que cela va faire. Laissez-nous savoir si ce travail feriez-vous?
Merci; qui a fait le tour!
Je suis content!! bonne chance avec python + intégration java 😉
OriginalL'auteur OscarRyz
Vous auriez probablement à enregistrer un ScriptEngineFactory pour'python'
OriginalL'auteur Petre Maierean