你可以在使用一个或多个宝石的同时部署JRuby吗?

时间:2012-11-18 07:05:26

标签: rubygems jruby

在做了一些谷歌搜索后,我得出的结论是,我对JRuby和Gems彼此之间的关系非常不了解。我正在用netbeans在JRuby开发一个程序。我知道你只能在JRuby中用Ruby编写纯粹的宝石(我假设,JRuby获取的netbeans只有Gems这些宝石)。

我的问题是,如果我在我的程序中使用gem,它会正确部署吗?目标计算机只有Java JRE,无法访问下载JRuby或gems。

我应该完全避免使用宝石,还是将gem编译成java字节码,或者我还能做些什么?

1 个答案:

答案 0 :(得分:1)

JRuby是一个红宝石实现,你可以像使用MRI那样使用宝石。

gem可以在ruby中实现,在这种情况下,ruby代码将由JRuby和JIT执行,就像你自己的JRuby代码一样;在Java中,在这种情况下它已经是Java字节码;甚至在C中,因为JRuby具有C扩展支持,但它们的使用更“perilous”。

如何将宝石与应用程序打包在一起取决于您如何部署宝石。您可以将它们复制到文件夹中,然后将该文件夹添加到LOAD_PATH。如果您使用warblerrawr等库,他们会为您打包应用程序中的宝石。如果您使用rails,您也可以像使用MRI一样使用bundler