使用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
最后为我工作了。