2015-06-12 2 views
1

Я видел этот вопрос несколько раз, но никаких репсонов не работал для меня. Я пробовал несколько версий rjb, несколько JRE versions..No независимо от того, что я стараюсь, при попытке использовать rjb камень я получаю следующее сообщение об ошибке:Ruby RJB не может создать ошибку Java VM

DL is deprecated, please use Fiddle 
C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/bind-it-0.2.7/lib/bind-it/jar_loader.rb:45:in `load': can't create Java VM (RuntimeError) 

У меня есть java_home на моем пути. Я просто использую простой код для тестирования rjb, так как мне действительно нужно это работать, поэтому stnford open nlp gem будет работать для меня.

Любые объяснения? Может помочь некоторые другие бедные души там ... Я бегу на окна, если это помогает

UPDATE: пробовал в командной строке для устранения

ruby -d -rubygems -rrjb -e 'Rjb::load' 
Exception `LoadError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems.rb:1203 - cannot load such file -- rubygems/defaults/ruby 
Exception `LoadError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55 - cannot load such file -- rjb 
Exception `Fiddle::DLError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/fiddle.rb:46 - No such file or directory 
DL is deprecated, please use Fiddle 
Exception `DL::DLError' at -e:1 - No such file or directory 
Exception `Fiddle::DLError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/fiddle.rb:46 - No such file or directory 
Exception `DL::DLError' at -e:1 - No such file or directory 
Exception `RuntimeError' at -e:1 - can't create Java VM 
-e:1:in `load': can't create Java VM (RuntimeError) 
     from -e:1:in `<main>' 

Означает ли это, есть ошибка с пути или JAVA_HOME? Если да, то как я могу правильно настроить это?

ответ

0

Итак, после того, как я наконец нашел решение. rjb будет работать только в том случае, если java и ruby ​​имеют BOTH 32 бит или BOTH 64 бит. Различные версии вызовут ошибку VM.

Для решения:

  1. Найти версию рубина вы работаете ruby -v в терминале
  2. Find версии Java javac или java -v в терминале
  3. Посмотрите, если версии 64 бит или 32 бит
  4. Если бы я отличался, я подумал, что мне легче изменить мою версию jdk- uninstall jdk
  5. Загрузить/установить x86 (32-разрядную) версию jdk
  6. убедитесь, что переменная JAVA_HOME окр устанавливается в месте расположения JDK (может потребоваться перезагрузка для любых изменений, внесенных вступили в силу

Boom- Надеюсь, что это работает для всех остальных, как хорошо!

Смежные вопросы