使用Jruby而不是Ruby创建gem

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

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

我想用Jruby(而不是ruby)写一个gem。 当我尝试这样做并在安装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' 

我仍然有同样的错误。

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

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

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

使用以下命令

jruby -S gem build jruby_gem.gemspecs

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

最后为我工作了。