2009-07-23 9 views
7

Me gustaría poder compilar un programa de ruby ​​para un programa Java JAR. He investigado JRuby y he visto varios ejemplos de aplicaciones Java que podrían evaluar() el código ruby, pero ¿existe una solución más elegante que permita simplemente codificar todo en ruby ​​y luego compilar el lote directamente en un archivo JAR?Código de Ruby a JAR

El objetivo general detrás de eso es poder extender una herramienta de seguridad llamada Burp Proxy. Así que me gustaría poder utilizar todos mis scripts de Pentesting de Ruby (obviamente organizándolos para que interactúen con el extensor de Burp) y compilar mis complementos para el archivo JAR que puede ejecutar la herramienta.

¡Si pudiera incluir algunos ejemplos o enlaces a ejemplos en su respuesta que incluso serían mejores!

Gracias por su tiempo.

Respuesta

8

JRuby le permite compilar a archivos .class, que pueden aparecer normalmente. También deberás incluir jruby.jar también. De here:

La forma típica de ejecutar el compilador AOT es ejecutar

jrubyc <script name>

O, en Microsoft Windows: salidas

jruby -S jrubyc <script name>

Este comando a. archivo de clase en el directorio actual con el padre directorios y correspondencia de paquetes donde vive el archivo. Así que el siguiente comando

jrubyc foo/bar/test.rb

es la salida

foo/bar/test.class

Para ejecutar el archivo producido por el compilador , utilice el -cp (clase searchpath) de parámetros tanto con el actual directorio (directorio principal para foo/bar/test.class anterior) y la ruta a jruby.jar, y ejecútelo como usted una clase Java normal llamado foo.bar.test:

java -cp .:/path/to/jruby.jar foo.bar.test

+0

excelente! gracias por tu respuesta. – Benjamin