2009-07-23 4 views
7

Я хотел бы иметь возможность компилировать рубиновую программу в JAR-программу JAR. Я заглянул в JRuby и увидел несколько примеров приложений Java, которые могли бы использовать eval() ruby-код, но есть ли более элегантное решение, позволяющее просто закодировать все в рубине и затем скомпилировать лот непосредственно в JAR-файл?Код Ruby для JAR

Общая цель заключается в том, чтобы иметь возможность расширения инструмента безопасности под названием Burp Proxy. Поэтому я хотел бы использовать все мои скрипты pentesting Ruby (очевидно, организуя их, чтобы они взаимодействовали с Extender Burp) и скомпилировали мои плагины в JAR-файл, который может быть запущен инструментом.

Если вы могли бы добавить примеры или ссылки на примеры в своем ответе, которые были бы даже лучше!

Спасибо за ваше время.

ответ

8

JRuby позволяет вам скомпилировать файлы .class, которые вы можете использовать в обычном режиме. Вам просто нужно включить jruby.jar. От here:

Типичный путь для запуска АОТ компилятора запустить

jrubyc <script name>

Или, на Microsoft Windows:

jruby -S jrubyc <script name>

Эта команда выводит а. файл класса в текущий каталог с родителем и сопоставление пакетов, где находится файл . Таким образом, следующие команды

jrubyc foo/bar/test.rb

выведет

foo/bar/test.class

Чтобы запустить файл, созданный в компилятором, используйте -cp (класс SearchPath) параметр как с тока каталог (родительский каталог для foo/bar/test.class выше) и путь к jruby.jar и выполнить его как вы бы обычный класс Java с именем foo.bar.test:

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

+0

отлично! спасибо за Ваш ответ. – Benjamin

Смежные вопросы