无法将sinatra作为.class文件运行

时间:2015-05-31 16:45:14

标签: ruby sinatra jruby

我正在尝试使用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

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

确保您拥有&#34;完成&#34; jruby-complete.jar ...因为它在使用java启动时可能不会使用文件系统JRuby布局文件。你也可能想看看Warbler以确保所需的一切都被包装好(例如sinatra有宝石架依赖等)。

您也可以尝试使用jruby indexjruby index.class