使用Jruby而不是Ruby创建gem

时间:2015-09-07 08:05:06

标签: java ruby gem rubygems jruby

所以我成功地编写了一个jruby文件并从jar文件中读取。

我还创建了一个单独的Ruby gem,安装并成功使用它。

我想用Jruby(而不是红宝石)写一个宝石。当我尝试这样做并在安装gem之后,它给了我以下错误:

  `require': cannot load such file -- java (LoadError)

是否有一种使用jruby编写gem的特定方法,这与编写gem usig ruby​​的方式不同?如果是这样,请指导我一个有用的教程,帮助我使用jruby创建一个gem

谢谢。

修改

我将以下内容添加到jruby_gem.gemspec文件

s.platform = 'java'

使用以下命令构建gem:

gem build jruby_gem.gemspec

并使用以下命令安装它:

gem install jruby_gem-0.0.0

当我尝试使用命令运行它时:

irb
require 'jrubt_gem'

我仍然遇到同样的错误。

2 个答案:

答案 0 :(得分:1)

Rubygems是一般ruby代码的包格式,所有ruby实现都使用它,包括MRI(原始C-Ruby),JRuby,Rubinius等。

在宝石中使用特定于平台的代码时,例如用于JRuby或C-Extensions的Java用于基于C的Rubies,你可以使用适当的Ruby使用gem。

这意味着,如果您想直接在gem中调用Java代码,则必须将其与JRuby一起使用。如果您只是在MRI上安装并需要宝石,它就无法工作。

答案 1 :(得分:0)

使用以下命令

jruby -S gem build jruby_gem.gemspecs

jruby -S gem install jruby_gem-0.0.0-java.gem

终于,为我工作了。