我正在尝试使用jruby运行sinatra“Hello World”作为编译类文件。
当我运行它解释时,它正在工作,但作为.class文件,我收到以下错误:
Exception in thread "main" org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- rubygems
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:966)
at RUBY.<top>(index.rb:1)
以下是源代码:
require 'sinatra'
get '/hello/:name' do
"Hello #{params['name']}"
end
以下是我编译和执行它的方式:
jruby -S jrubyc index.rb
java -cp .;C:\dev\lang\ruby\jruby-9.0.0.0.pre2\lib\jruby.jar index
任何想法我做错了什么?
答案 0 :(得分:0)
确保您拥有&#34;完成&#34; jruby-complete.jar ...因为它在使用java
启动时可能不会使用文件系统JRuby布局文件。你也可能想看看Warbler以确保所需的一切都被包装好(例如sinatra有宝石架依赖等)。
您也可以尝试使用jruby index
或jruby index.class