我希望能够将ruby程序编译为java JAR程序。我查看了JRuby并看到了几个能够eval()ruby代码的Java应用程序示例,但是有一个更优雅的解决方案,允许简单地编写ruby中的所有内容,然后直接将批量编译成JAR文件吗? / p>
这背后的总体目标是能够扩展名为Burp Proxy的安全工具。所以我希望能够使用我所有的Ruby测试脚本(显然是组织它们以便它们与Burp扩展器连接)并将我的插件编译成可以由该工具执行的JAR文件。
如果您可以在答案中包含一些示例或指向示例的链接,甚至会更好!
感谢您的时间。
答案 0 :(得分:8)
JRuby允许您编译为.class文件,您可以正常查看。你只需要包含jruby.jar。来自here:
运行AOT的典型方法 编译器是运行
jrubyc <script name>
或者,在Microsoft Windows上:
jruby -S jrubyc <script name>
此命令输出.class文件 父目录的当前目录 目录和包匹配在哪里 文件存在。所以以下 命令
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