7 апреля 2011 г.

Встраивание Python скриптов в Java приложение

Недавно возникла проблема выноса большей части бизнес-логики из основной программы на Java в скрипты, движком для скриптов был выбран Pyton (точнее его реализация на java - Jyton). 


После долгих тормошений гугла на эту тему пришел к следующему. Рассмотрим простейший пример встраивания интерпретатора Jyton в приложение написанное на Java.


  1. import javax.script.ScriptEngine;  
  2. import javax.script.ScriptEngineManager;  
  3. import javax.script.ScriptException;  
  4.   
  5.   
  6. public class main {  
  7.     public static void main(String[] args) throws ScriptException {   
  8.        // создаем движок скриптов   
  9.        ScriptEngineManager factory = new ScriptEngineManager();   
  10.        // встраиваем в него интерпретатор Jyton   
  11.        ScriptEngine engine = factory.getEngineByName("jython");   
  12.        // передаем ему Python код в виде строки   
  13.        engine.eval("print 'Hello, World'");    
  14.        engine.eval("a=1");  
  15.        engine.eval("print a");  
  16.     }   
  17. }  


В результате выполнения программы мы увидим в консоли "Hello, World" и "1".