2009-07-23 11 views
7

Chciałbym móc skompilować program ruby ​​do programu JAR java. Zajrzałem do JRuby i zobaczyłem kilka przykładów aplikacji Java, które byłyby w stanie użyć kodu ruby ​​eval(), ale czy istnieje bardziej eleganckie rozwiązanie pozwalające po prostu zakodować wszystko w ruby, a następnie skompilować partię bezpośrednio do pliku JAR?Kod Ruby do JAR

Ogólnym celem jest umożliwienie rozszerzenia narzędzia bezpieczeństwa o nazwie Burp Proxy. Chciałbym móc korzystać ze wszystkich moich skryptów pentestingowych (oczywiście organizując je tak, aby łączyły się z rozszerzeniem Burp) i kompilować moje wtyczki do pliku JAR, który może być wykonany przez narzędzie.

Jeśli mógłbyś podać przykłady lub linki do przykładów w swojej odpowiedzi, które byłyby nawet lepsze!

Dzięki za poświęcony czas.

Odpowiedz

8

JRuby umożliwia kompilację plików .class, które można normalnie przeskakiwać. Będziesz także musiał dołączyć jruby.jar. Od here:

Typowy sposób uruchomić AOT kompilator jest uruchomienie

jrubyc <script name>

Lub, w systemie Microsoft Windows: wyjścia

jruby -S jrubyc <script name>

tego polecenia. plik klasy w bieżący katalog z rodzicem Katalogi i dopasowywanie pakietów, gdzie plik żyje. Więc następujące polecenie

jrubyc foo/bar/test.rb

wyjście wola

foo/bar/test.class

Aby uruchomić plik wytwarzanego przez kompilatora, użyj Cp (klasa SearchPath) parametru zarówno prądu katalog (nadrzędny katalog dla foo/bar/test.class powyżej) i ścieżkę do pliku jruby.jar, i wykonaj go jako byś normalna klasa Java o nazwie foo.bar.test:

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

+0

doskonałe! dzięki za odpowiedź. – Benjamin

Powiązane problemy