问题标签 [jruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1035 浏览

ruby - JRuby/Windows 和(本机)扩展如何区分它们?

我曾尝试将 EventMachine 等与 JRuby 一起使用。我收到有关本机扩展的错误。我相信这是由于 Java 的限制。我认为我在 Windows 上的事实使问题进一步复杂化。一些澄清将不胜感激。哪些扩展可以/不能与 JRuby 一起使用?我怎么知道?谢谢。

0 投票
3 回答
3277 浏览

java - Java 脚本的安全性(JRuby、Jython、Groovy、BeanShell 等)

我希望运行一些未经验证的脚本(用尚未确定的语言编写,但需要基于 Java,因此 JRuby、Groovy、Jython、BeanShell 等都是候选者)。我希望这些脚本能够做一些事情并限制做其他事情。

通常,我会使用 Java 的 SecurityManager 并完成它。这非常简单,让我可以限制文件和网络访问、关闭 JVM 的能力等。这对于我想要阻止的高级内容非常有效。

但是我想允许一些东西,但只能通过我提供的自定义 API/库。例如,我不想允许直接网络访问打开到 yahoo.com 的 URLConnection,但如果使用 MyURLConnection 完成,我可以。那就是 - 有一组我想要允许的方法/类,然后是我想要禁止的所有其他内容。

我不相信这种类型的安全可以用标准的 Java 安全模型来完成,但也许可以。我对脚本语言本身的性能或灵活性没有特定要求(脚本将是对我的 API 的简单程序调用,具有基本的循环/分支)。因此,即使是对每个反射调用进行安全检查的“大”开销对我来说也是可以的。

建议?

0 投票
1 回答
484 浏览

java - 为什么 JRuby 不能识别 BigNums 而 Ruby 可以?

如果我输入这个大整数:

并用 ruby​​ 1.86 编译,它预期会报告:

而 JRuby(Netbeans 中的 1.1.4)令人惊讶地报告:

我认为 Java 有一个 BigInteger 类来对应 Ruby 中的 BigNum 类。如果是这样,我会期望 JRuby 和 ruby​​ 产生相同的输出。

0 投票
1 回答
2068 浏览

casting - 从 JRuby 转换 Java 对象

我正在使用 JRuby 中的 Java 库。我正在从文件中读取一个对象,我需要将它作为不同的对象类型传递给第二个构造函数:

@hmm_model 是 ObjectInputStream 类型,需要转换为 (HiddenMarkovModel)。显然,这在 Java 中很容易,它只是:

但是,当然,这在 JRuby 中是行不通的。实际上有什么方法可以将 @hmm_model 显式转换为正确的类型?

0 投票
3 回答
174 浏览

ruby - Netbeans 偶尔使用 Ruby MRI 不编译 - 解决方案?

当我在 Netbeans 中保存对 Ruby 文件的更改并尝试运行该文件时,解释器通常什么都不做。唯一的解决方法是暂时切换到 JRuby 解释器,然后切换回默认的 Ruby 解释器 (1.86)。除了这个黑客,有没有人知道解决这个问题?结果,它几乎使 Netbeans 成为我的 Ruby 编码不可行的 IDE。

Netbeans 6.5/无插件/Windows Vista。

0 投票
1 回答
561 浏览

ruby-on-rails - 使用 Warbler,我如何从捆绑的 gem 中排除 Active Record?

使用 Warbler 时,我需要添加哪些行config/warble.rb以防止它在捆绑的 gem 中包含 Active Record。我已经排除了 Active Record,config/environment.rb如下所示。

我只使用config.gemsin尝试了同样的事情config/warble.rb,但无济于事。

0 投票
1 回答
499 浏览

jruby - 在 JRuby 中使用整洁

在使用 Ruby 调试器几个小时后,我终于了解到我需要清理一些格式错误的 HTML 页面,然后才能将它们提供给 Hpricot。到目前为止,我发现的最佳解决方案是Tidy Ruby 界面

Tidy在命令行中运行良好,Ruby 界面也运行良好。但是,它需要dl/import,但无法在 JRuby 中加载:

这个库可用于 JRuby 吗?网络搜索显示它去年不可用

或者,有人可以建议其他方法来清理 JRuby 中格式错误的 HTML 吗?

更新

按照 Markus 的建议,我现在通过 popen 而不是 libtidy 使用 Tidy。我发布了通过 tidy 管道传输文档数据的代码,以供将来参考。希望这是健壮和便携的。

0 投票
6 回答
1835 浏览

java - JRuby 准备好投入生产了吗?

我刚刚发现了JRuby,我喜欢在 Rails 上运行 Ruby 并能够调用 Java 库的想法。

我想了解一些在 JRuby 中运行企业生产应用程序的经验。稳定性和性能是否可以接受?

谢谢。

0 投票
3 回答
4840 浏览

ruby - RSpec Gem 似乎没有安装依赖项

$> jruby -v

jruby 1.1.4(ruby 1.8.6 补丁级别 114)(2008-08-28 rev 7570)[x86-java]

$> 宝石安装 rspec

JRuby 有限的 openss 已加载。gem install jruby-openssl 以获得全面支持。
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
成功安装 rspec-1.1.12
1 个 gem 安装rspec-1.1.12
安装 ri 文档... rspec-1.1.12
安装 RDoc 文档...

$> 规范--帮助

.../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:578:in `report_activate_error': 找不到 RubyGem 黄瓜 (>= 0.1.13) (Gem::LoadError)

来自 .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:134:在激活中' 来自 .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb :157: 来自 .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157: 在gem' 来自 .../jruby/1.1.4/bin/spec:18activate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:158: in

each
activate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:49: in

$> gem 安装黄瓜

(安装了 cucumber-0.1.16 和依赖项 term-ansicolor-1.0.3、polyglot-0.2.5、treettop-1.2.4、diff-lcs-1.1.2)

$> 规范--帮助

.../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:578:in `report_activate_error': 找不到 RubyGem 锄头 (>= 1.8.0) (Gem::LoadError)

来自 .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:134:在激活中' 来自 .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb :157: 在激活中 来自 .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:158: 在每个中 来自 .../jruby/1.1.4/lib/ruby/site_ruby /1.8/rubygems.rb:157:在激活中 来自 .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157:在激活中 来自 .../jruby/1.1.4 /lib/ruby/site_ruby/1.8/rubygems.rb:158: 在每个' 中来自 .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157: 在gem' 中来自 ... /jruby/1.1.4/bin/spec:18 activate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:158: in

each'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157: in

activate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157: in

activate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:158: in

each'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157: in

activate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157: in

activate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:49: in

$> gem 安装锄头

(安装了 hoe-1.10.0 和依赖 ruby​​forge-1.0.3)

$> 规范--帮助

用法:spec (FILE|DIRECTORY|GLOB)+ [options]
(etc., etc., etc.)

似乎“gem install rspec”没有安装依赖项。
不确定它是否是 Windows 上的 JRuby 独有的……其他操作系统未测试。

0 投票
3 回答
1127 浏览

ruby - SAP 新的 Ruby 实现对 Ruby 程序员有什么意义?

SAP 发布了Blue Ruby,这是在 ABAP 虚拟机中运行的 Ruby 版本。

这似乎增加了 Ruby 语言的可信度,但是除了 SAP 开发人员之外,这对 Ruby 社区的其他人是否适用?

我只是想知道这可能还有什么其他意义。Ruby 开发人员可能会获得额外的工作机会来从事 SAP 项目的工作?

Ruby 程序员还有其他潜在的好处吗?

另外,我还不清楚:除了 MRI 和 JRuby,还有多少不同的实现,为什么我作为 Ruby 程序员需要除 MRI 之外的任何实现?我知道如果我想与 Java 库集成,我可能需要 JRuby。除了 MRI 或 JRuby 之外,我是否还需要研究其他实现?

我注意到 Blue Ruby 已编译。这是一个很大的好处吗?这会是 Ruby 的第一个编译版本吗?

抱歉 - 可能有太多问题,但这是一个大问题,但我不确定为什么/如果真的是这样。如果能从比我更了解 Ruby(和 IT)的人那里得到一些反馈,我将不胜感激。