2

Ruby で Java ブリッジ (Stanford-Core-NLP 用) を使用していますが、Windows マシンで Ruby が 32 ビット (193) で Java が 64 ビットの場合、jrb は機能しないようです。

それは可能性が?Ruby 64をインストールするよりも良い解決策はありますか(多くのgemではサポートされていません)? 4giga Java アプリケーションをサポートするには、Java 64 を使用する必要があります。

ありがとう、これはエラーメッセージです:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/bind-it-0.2.7/lib/bind-it/jar_loader.rb:45:in `load': can't create Java VM (RuntimeError)
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bind-it-0.2.7/lib/bind-it/jar_loader.rb:45:in `init_rjb'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bind-it-0.2.7/lib/bind-it/jar_loader.rb:38:in `load_jar_rjb'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bind-it-0.2.7/lib/bind-it/jar_loader.rb:27:in `load'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bind-it-0.2.7/lib/bind-it/binding.rb:63:in `load_jar'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bind-it-0.2.7/lib/bind-it/binding.rb:71:in `block in load_default_jars'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bind-it-0.2.7/lib/bind-it/binding.rb:68:in `each'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bind-it-0.2.7/lib/bind-it/binding.rb:68:in `load_default_jars'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bind-it-0.2.7/lib/bind-it/binding.rb:55:in `bind'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/stanford-core-nlp-0.5.1/lib/Stanford-Core-NLP.rb:125:in `bind'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/stanford-core-nlp-0.5.1/lib/Stanford-Core-NLP.rb:140:in `load'
4

1 に答える 1

1

答えはノーだと確信しています。

その理由は、(一般的に言えば) 実行中の同じプログラムで 32 ビットと 64 ビットのコードを混在させることはできないためです。非特権 (つまり「ユーザーモード」) プログラムが異なるアドレッシングモード間で CPU を切り替える方法はありません。

他のフォーラムでの Ruby + Java + RJB のさまざまな「助けを求める」は、これをサポートしているようです ...

于 2013-11-13T11:16:34.690 に答える