NoClassDefFoundError的上org.jruby.Main(NoClassDefFou

2019-10-17 19:35发布

我试图使用JRuby 1.4.0RC1我的Windows机器上安装的角度来说,Hpricot宝石。 我试图按照建议的相关问题(见- > 对JRuby的安装角度来说,Hpricot )。

每答案的意见,我拉着角度来说,Hpricot的git的头部,并从它的目录RAN:

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工作得很好,所以我很困惑在我的类路径是越来越混乱。

Answer 1:

它看起来像你的JRuby安装是不完整的。 你抢binsrc DIST? 检查lib/jruby.jar存在,请确保bin/jruby是在同一个位置的JRuby作为lib/jruby.jar和测试java -jar lib/jruby.jar -e "puts 'hello'" ,看看它的功能。



Answer 2:

我怀疑须藤没有继承你的环境变量。 所以JRUBY_HOME不见了。 尝试将它添加到J偕轮廓。



Answer 3:

我在Windows上。 我不知道,如果JRuby的1.4下降到“J”前缀。 J偕不承认,但宝石。 无论如何,当我宝石的环境,我得到:

C:\tmp\hpricot>gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.5
  - RUBY VERSION: 1.8.7 (2009-09-30 patchlevel 174) [java]
  - INSTALLATION DIRECTORY: C:/jruby-1.4.0RC1/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: C:/jruby-1.4.0RC1/bin/../bin/jruby.bat
  - EXECUTABLE DIRECTORY: C:/jruby-1.4.0RC1/bin/../bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-java-1.6
  - GEM PATHS:
     - C:/jruby-1.4.0RC1/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--env-shebang"
     - "update" => "--env-shebang"
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/


文章来源: NoClassDefFoundError on org.jruby.Main