Java org.jruby.Main上的NoClassDefFoundError
我正在尝试使用JRuby 1.4.0RC1在我的Windows计算机上安装hpricot gem。我正试图按照建议解决相关问题(请参见->) 根据答案的建议,我从hpricot的git头中取出了dir ran:Java org.jruby.Main上的NoClassDefFoundError,java,windows,jruby,hpricot,Java,Windows,Jruby,Hpricot,我正在尝试使用JRuby 1.4.0RC1在我的Windows计算机上安装hpricot gem。我正试图按照建议解决相关问题(请参见->) 根据答案的建议,我从hpricot的git头中取出了dir ran: jruby -S rake package_jruby cd pkg sudo jgem install ./hpricot-0.8.1-jruby.gem 但当我运行此命令时,我得到以下NoClassDefFoundError: Exception in thread "main"
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\u HOME\lib\JRUBY.jar丢失了
运行jruby-v可以很好地工作,所以我不知道我的类路径在哪里被弄乱了。我怀疑sudo没有继承您的环境变量。所以JRUBY_的家不见了。尝试将其添加到jgem配置文件。我怀疑sudo不会继承您的环境变量。所以JRUBY_的家不见了。尝试将其添加到jgem配置文件。我在Windows上。我不确定JRuby 1.4是否删除了“j”前缀。jgem未被识别,但gem已被识别。不管怎样,当我进入gem环境时,我得到:
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/
我在窗户上。我不确定JRuby 1.4是否删除了“j”前缀。jgem未被识别,但gem已被识别。不管怎样,当我进入gem环境时,我得到:
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/
看起来你的jruby安装没有完成。你抓到
bin
或src
dist了吗?检查lib/jruby.jar
是否存在,确保bin/jruby
与lib/jruby.jar
位于同一个jruby位置,并测试java-jar-lib/jruby.jar-e“放置‘hello’
,看看它是否正常工作。你的jruby安装似乎没有完成。你抓到bin
或src
dist了吗?检查lib/jruby.jar
是否存在,确保bin/jruby
与lib/jruby.jar
位于同一个jruby位置,并测试java-jar lib/jruby.jar-e“puts'hello'
,看看它是否正常工作。如何将jruby\u添加到jgem配置文件的主页$JRUBY_HOME在我的bash和Windows cmd会话中得到响应。执行“sudo jgem set”并检查它是否有变量。如果没有,请转到~jgem(它是jgem home),找到.profile文件,并在那里添加变量。非常感谢您的建议。不确定我是否能按你的建议做。JRuby将出现在gem环境中(见下文)。当我签出安装目录时,我没有看到任何表示概要文件的文件。请参阅下面我的“答案”了解更多内容。如何将JRUBY_主页添加到jgem配置文件中$JRUBY_HOME在我的bash和Windows cmd会话中得到响应。执行“sudo jgem set”并检查它是否有变量。如果没有,请转到~jgem(它是jgem home),找到.profile文件,并在那里添加变量。非常感谢您的建议。不确定我是否能按你的建议做。JRuby将出现在gem环境中(见下文)。当我签出安装目录时,我没有看到任何表示概要文件的文件。请看我下面的“答案”了解更多内容。我认为你的思路是正确的!我使用“JRuby 1.4.0RC1 Windows可执行文件”安装JRuby。当我尝试使用java-jarlib/jruby.jar-e“puts'hello'”时,我得到一条消息:“无法访问jarfile lib/jruby.jar”。我是否必须在CP中为每个java执行指定JRUBY_HOME,或者是否有一种方法(或者安装程序应该完成这一点)可以使JRUBY_HOME包含成为默认值?谢谢你的帮助!您可能想尝试RC2安装程序;我认为RC1安装程序或最初运行JRuby的bat文件存在一些问题。现在,它附带了一个jruby.exe,可以正常工作了。如果没有,请提交一个错误在我认为你在正确的轨道上!我使用“JRuby 1.4.0RC1 Windows可执行文件”安装JRuby。当我尝试使用java-jarlib/jruby.jar-e“puts'hello'”时,我得到一条消息:“无法访问jarfile lib/jruby.jar”。我是否必须在CP中为每个java执行指定JRUBY_HOME,或者是否有一种方法(或者安装程序应该完成这一点)可以使JRUBY_HOME包含成为默认值?谢谢你的帮助!您可能想尝试RC2安装程序;我认为RC1安装程序或最初运行JRuby的bat文件存在一些问题。现在,它附带了一个jruby.exe,可以正常工作了。如果没有,请在