2012-11-18 24 views
1

做了一些Google搜索之后,我得出结论说我对JRuby和Gems如何相互关联极为不了解。我正在使用NetBeans开发一个JRuby程序。我知道你只能在JRuby内部使用纯Ruby编写的宝石(我假设JRuby获得的NetBeans只有这些宝石)。您可以在使用一个或多个Gems的同时部署JRuby吗?

我的问题是,如果我用我的程序的宝石会正确部署?目标计算机只有Java JRE,并且无法下载JRuby或gem。

我应该完全避免或将宝石被编译成Java字节码,以及使用宝石或者是有别的东西,我可以做什么?

回答

1

的JRuby是一个Ruby实现,你的确可以使用宝石,就像你会与MRI。

的宝石可以用Ruby实现,在这种情况下,Ruby代码会被JRuby和JIT'ed根据需要,就像你自己的JRuby的代码执行;在Java中,在这种情况下,它已经是Java字节码;甚至在C中,因为JRuby具有C扩展支持,但它们的使用更“perilous”。

如何打包与应用程序的宝石,在很大程度上取决于你如何部署它。您可以将它们复制到一个文件夹中,然后将该文件夹添加到LOAD_PATH。如果您使用类似warblerrawr的库,它们会将宝石包装在您的应用程序中供您使用。如果您使用导轨,您也可以像使用MRI一样使用bundler

+0

非常感谢你,这是相当翔实。 –

相关问题