我正在尝试使用 JRuby 1.4.0RC1 在我的 Windows 机器上安装 hpricot gem。我正在尝试遵循相关问题的建议(请参阅 -> Installing hpricot for JRuby )。
根据答案的建议,我拉出了 hpricot 的 git 头并从它的目录运行:
jruby -S rake package_jruby
cd pkg
sudo jgem install ./hpricot-0.8.1-jruby.gem
但是当我运行它时,我得到以下 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.
显然我的 JRUBY_HOME\lib\jruby.jar 丢失了。
运行 jruby -v 工作正常,所以我很困惑我的类路径在哪里搞砸了。
最佳答案
看起来您的 jruby 安装没有完成。您是否获取了 bin
或 src
目录?检查lib/jruby.jar
是否存在,确保bin/jruby
和lib/jruby.jar
在同一个jruby位置,然后测试java -jar lib/jruby.jar -e "puts 'hello'"
看看它是否正常工作。
关于java - org.jruby.Main 上的 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1534977/