I'm trying to install the hpricot gem on my Windows machine using JRuby 1.4.0RC1. I'm trying to follow the advice to the related question (see -> Installing hpricot for JRuby).
Per the answer's advice I pulled the git head of hpricot and from it's dir ran:
jruby -S rake package_jruby
cd pkg
sudo jgem install ./hpricot-0.8.1-jruby.gem
But when I run this I get the following NoClassDefFoundError:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jruby/Main
Caused by: java.lang.ClassNotFoundException: org.jruby.Main
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: org.jruby.Main. Program will exit.
Apparently my JRUBY_HOME\lib\jruby.jar is getting lost.
running jruby -v works fine, so I'm confused where my class path is getting messed up.
It looks like your jruby install isn't complete. Did you grab the
bin
orsrc
dist? Check iflib/jruby.jar
exists, make surebin/jruby
is in the same jruby location aslib/jruby.jar
, and testjava -jar lib/jruby.jar -e "puts 'hello'"
to see if it's functional.I'm on Windows. I'm not sure if JRuby 1.4 drops the 'j' prefix. jgem isn't recognized, but gem is. Regardless, when I gem environment I get:
I suspect sudo does not inherit your environment variables. So JRUBY_HOME is gone. Try to add it to jgem profile.