sábado, 23 de janeiro de 2010

Usando o Jython com a Java Scripting API (JSR-223)

O Jython permite usar o Python no Java e vice-versa. Permite rodar script em python usando a máquina virtual do Java.


INSTALAÇÃO


Primeiramente, precisa estar instalado o JDK 6 e o Python.
Para isso, acesse:

http://www.python.org/
E baixe a última versão do python (2.6.4 a última versão desde na edição desse artigo) e depois faça a instalação.

http://java.sun.com/javase/downloads/index.jsp

Baixe a última versão da versão 6 do Java (1.6.18 a última versão na edição desse artigo) e depois faça a instalação.


Tendo os ambientes de desenvolvimento Java e Python instalados, agora prosseguimos com a instalação de Jython. Para isso, acesse o site: http://www.jython.org/ e baixe a última versão (2.5.1 na edição desse artigo).

Depois feita a instalação, precisamos referenciar Jython no PATH, lembrando que o PATH para a execução de programas utilitários do Jython estão dentro da pasta bin do diretório raiz de instalação do Jython. Assim, se o Jython foi instalado no diretório /usr/local/jython2.5, então o caminho a ser usado no PATH do sistema operacional é /usr/local/jython2.5/bin.

Da mesma maneira, precisamos referenciar o arquivo "jython.jar" que está no diretório raiz da instalação do Jython no CLASSPATH. Por exemplo, se o Jython foi instalado no diretório /usr/local/jython2.5.1, o caminho a ser usado no CLASSPATH é /usr/local/jython2.5.1/jython.jar.


EXEMPLO

Depois de instalado o JDK 6, Python e Jython, execute o exemplo abaixo:

-----------------------------------------------------------------------------------------

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

/**
*
*/
public class PythonTest {

/**
* @param args
*/
public static void main(String[] args) {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("python");

if(scriptEngine != null) {

try {
scriptEngine.eval("a = [] \nprint 'oi jython!!!' ");

} catch (ScriptException e) {
e.printStackTrace();
}

}

System.out.println("Terminado com sucesso!!");
}
}

--------------------------------------------------------------------------------------
Se tudo estiver corretamente instalado, o resultado que será mostrado no console deverar ser:

oi jython!!!
Terminado com sucesso!!

Nenhum comentário:

Postar um comentário