使用 Jruby 而不是 Ruby 创建 gem

Creating a gem using Jruby and not Ruby

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

我还单独创建了一个Rubygem,安装并成功使用。

我想用 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 中使用特定于平台的代码时,例如Java 用于 JRuby 或 C-Extensions 用于基于 C 的 Rubies,您必须将 gem 与适当的 Ruby.

一起使用

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

使用以下命令

jruby -S gem build jruby_gem.gemspecs

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

终于对我有用了。