7

我希望能够将 ruby​​ 程序编译为 java JAR 程序。我研究了 JRuby 并看到了几个能够 eval() ruby​​ 代码的 Java 应用程序示例,但是是否有更优雅的解决方案允许在 ruby​​ 中简单地编写所有代码,然后将很多内容直接编译为 JAR 文件?

其背后的总体目标是能够扩展名为 Burp Proxy 的安全工具。所以我希望能够使用我所有的 Ruby 渗透测试脚本(显然组织它们以便它们与 Burp 扩展器交互)并将我的插件编译为可以由该工具执行的 JAR 文件。

如果您可以在答案中包含一些示例或示例链接,那就更好了!

谢谢你的时间。

4

1 回答 1

8

JRuby 允许你编译成 .class 文件,你可以正常 jar 。您只需要包含 jruby.jar 即可。从这里

运行 AOT 编译器的典型方法是运行

jrubyc <script name>

或者,在 Microsoft Windows 上:

jruby -S jrubyc <script name>

此命令在当前目录中输出一个 .class 文件,其中包含与文件所在位置匹配的父目录和包。所以下面的命令

jrubyc foo/bar/test.rb

将输出

foo/bar/test.class

要运行编译器生成的文件,请将 -cp(类搜索路径)参数与当前目录(上面的 foo/bar/test.class 的父目录)和 jruby.jar 的路径一起使用,然后按照您的意愿执行它一个名为 foo.bar.test 的普通 Java 类:

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

于 2009-07-24T13:58:55.833 回答