java - org.jruby.Main 上的 NoClassDefFoundError

标签 java windows jruby hpricot

我正在尝试使用 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 安装没有完成。您是否获取了 binsrc 目录?检查lib/jruby.jar是否存在,确保bin/jrubylib/jruby.jar在同一个jruby位置,然后测试java -jar lib/jruby.jar -e "puts 'hello'" 看看它是否正常工作。

关于java - org.jruby.Main 上的 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1534977/

相关文章:

32 位系统上的 Java 10(及以下版本)

windows - 在 Windows 10 主机网络上访问 VirtualBox Mac OS guest

windows - 如何将 Windows 的 JRuby 程序打包为一键式可执行文件

java - 有效字符串的长度返回 0

java - 处理并弹出空指针异常

java - Spring Integration xml 到 java dsl - 如何定义入站/出站 channel 适配器、轮询器等

c# - 我得到了此错误 '… inaccessible due to it'的保护级别'

编译器错误-可能的 IDE 错误“undefined reference to gettimeofday error”

ruby-on-rails - 将现有的 ROR 应用程序迁移到 GAE

ruby-on-rails - 在 ActiveRecord/Rails 中更改 updated_at 列的名称