簡體   English   中英

org.jruby.Main上的NoClassDefFoundError

[英]NoClassDefFoundError on org.jruby.Main

我正在嘗試使用JRuby 1.4.0RC1在我的Windows機器上安裝hpricot gem。 我正在嘗試遵循相關問題的建議(請參閱 - > 為JRuby安裝hpricot )。

根據答案的建議,我拉了hpricot的git head並從它的dir 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工作正常,所以我很困惑我的類路徑搞砸了。

看起來你的jruby安裝不完整。 你抓住bin還是src dist? 檢查lib/jruby.jar存在,確保bin/jrubylib/jruby.jar位於同一個jruby位置,並測試java -jar lib/jruby.jar -e "puts 'hello'"以查看它是否正常運行。

我懷疑sudo沒有繼承你的環境變量。 所以JRUBY_HOME走了。 嘗試將其添加到jgem配置文件。

我在Windows上。 我不確定JRuby 1.4是否會刪除'j'前綴。 jgem不被認可,但寶石是。 無論如何,當我獲得寶石環境時:

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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM