2012-11-18 22 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

非常感謝你,這是相當翔實。 –

相關問題