【问题标题】:Java Errors with jRuby on Rails on Google App EngineGoogle App Engine 上 jRuby on Rails 的 Java 错误
【发布时间】:2010-04-08 20:03:36
【问题描述】:

到目前为止,我遵循了所有说明: http://code.google.com/p/appengine-jruby/wiki/RunningRailshttp://gist.github.com/268192

目前,我只是想打个招呼。我得到这些 当我运行 dev_appserver.rb 时出现错误

238:hello-world jwang392$ dev_appserver.rb . 

=> Booting DevAppServer 
=> Press Ctrl-C to shutdown server 
=> Generating configuration files 
2010-04-08 09:16:51.961 java[411:1707] [Java CocoaComponent 
compatibility mode]: Enabled 
2010-04-08 09:16:51.964 java[411:1707] [Java CocoaComponent 
compatibility mode]: Setting timeout for SWT to 0.100000 
Apr 8, 2010 7:17:05 PM 
com.google.appengine.tools.development.ApiProxyLocalImpl log 
SEVERE: [1270754225387000] javax.servlet.ServletContext log: Warning: 
error application could not be initialized 
org.jruby.rack.RackInitializationException: no such file to load -- 
time 
        from file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/booter.rb:25:in `boot!' 
        from file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/boot/rack.rb:10 
        from file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/boot/rack.rb:1:in `load' 
        from <script>:1 
        at org.jruby.rack.DefaultRackApplicationFactory 
$4.init(DefaultRackApplicationFactory.java:169) 
        at 
org.jruby.rack.DefaultRackApplicationFactory.newErrorApplication(DefaultRac kApplicationFactory.java: 
118) 
        at 
org.jruby.rack.DefaultRackApplicationFactory.init(DefaultRackApplicationFac tory.java: 
37) 
        at 
org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFacto ry.java: 
26) 
        at 
org.jruby.rack.RackServletContextListener.contextInitialized(RackServletCon textListener.java: 
40) 
        at 
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java: 
530) 
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) 
        at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java: 
1218) 
        at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java: 
500) 
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java: 
448) 
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 
40) 
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java: 
117) 
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 
40) 
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java: 
117) 
        at org.mortbay.jetty.Server.doStart(Server.java:217) 
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 
40) 
        at 
com.google.appengine.tools.development.JettyContainerService.startContainer (JettyContainerService.java: 
188) 
        at 
com.google.appengine.tools.development.AbstractContainerService.startup(Abs tractContainerService.java: 
147) 
        at 
com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerI mpl.java: 
219) 
        at com.google.appengine.tools.development.DevAppServerMain 
$StartAction.apply(DevAppServerMain.java:162) 
        at com.google.appengine.tools.util.Parser 
$ParseResult.applyArgs(Parser.java:48) 
        at 
com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServer Main.java: 
113) 
        at 
com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMa in.java: 
89) 
Caused by: org.jruby.exceptions.RaiseException: no such file to load 
-- time 
        at (unknown).new(file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/booter.rb:25) 
        at Kernel.require(file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/booter.rb:25) 
        at JRuby::Rack::Booter.boot!(file:/Users/jwang392/hello-world/WEB-INF/ 
lib/jruby-rack-0.9.6.jar!/jruby/rack/boot/rack.rb:10) 
        at (unknown).(unknown)(file:/Users/jwang392/hello-world/WEB-INF/lib/ 
jruby-rack-0.9.6.jar!/jruby/rack/boot/rack.rb:1) 
        at (unknown).(unknown)(file:/Users/jwang392/Dhello-world/WEB-INF/lib/ 
jruby-rack-0.9.6.jar!/jruby/rack/boot/rack.rb:1) 
        at Kernel.load(<script>:1) 
        at (unknown).(unknown)(:1) 
Apr 8, 2010 7:17:05 PM 
com.google.appengine.tools.development.ApiProxyLocalImpl log 
SEVERE: [1270754225913000] javax.servlet.ServletContext log: unable to 
create shared application instance 
org.jruby.rack.RackInitializationException: no such file to load -- 
time 
        from file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/booter.rb:25:in `boot!' 
        from file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/boot/rack.rb:10 
        from file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/boot/rack.rb:1:in `load' 
        from <script>:1 
        at org.jruby.rack.DefaultRackApplicationFactory 
$4.init(DefaultRackApplicationFactory.java:169) 
        at 
org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackAppl icationFactory.java: 
51) 
        at 
org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFacto ry.java: 
27) 
        at 
org.jruby.rack.RackServletContextListener.contextInitialized(RackServletCon textListener.java: 
40) 
        at 
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java: 
530) 
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) 
        at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java: 
1218) 
        at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java: 
500) 
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java: 
448) 
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 
40) 
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java: 
117) 
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 
40) 
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java: 
117) 
        at org.mortbay.jetty.Server.doStart(Server.java:217) 
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 
40) 
        at 
com.google.appengine.tools.development.JettyContainerService.startContainer (JettyContainerService.java: 
188) 
        at 
com.google.appengine.tools.development.AbstractContainerService.startup(Abs tractContainerService.java: 
147) 
        at 
com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerI mpl.java: 
219) 
        at com.google.appengine.tools.development.DevAppServerMain 
$StartAction.apply(DevAppServerMain.java:162) 
        at com.google.appengine.tools.util.Parser 
$ParseResult.applyArgs(Parser.java:48) 
        at 
com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServer Main.java: 
113) 
        at 
com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMa in.java: 
89) 
Caused by: org.jruby.exceptions.RaiseException: no such file to load 
-- time 
        at (unknown).new(file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/booter.rb:25) 
        at Kernel.require(file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/booter.rb:25) 
        at JRuby::Rack::Booter.boot!(file:/Users/jwang392/hello-world/WEB-INF/ 
lib/jruby-rack-0.9.6.jar!/jruby/rack/boot/rack.rb:10) 
        at (unknown).(unknown)(file:/Users/jwang392/hello-world/WEB-INF/lib/ 
jruby-rack-0.9.6.jar!/jruby/rack/boot/rack.rb:1) 
        at (unknown).(unknown)(file:/Users/jwang392/hello-world/WEB-INF/lib/ 
jruby-rack-0.9.6.jar!/jruby/rack/boot/rack.rb:1) 
        at Kernel.load(<script>:1) 
        at (unknown).(unknown)(:1) 
Apr 8, 2010 7:17:05 PM 
com.google.appengine.tools.development.ApiProxyLocalImpl log 
SEVERE: [1270754225915000] javax.servlet.ServletContext log: Error: 
application initialization failed 
org.jruby.rack.RackInitializationException: unable to create shared 
application instance 
        at 
org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFacto ry.java: 
39) 
        at 
org.jruby.rack.RackServletContextListener.contextInitialized(RackServletCon textListener.java: 
40) 
        at 
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java: 
530) 
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) 
        at 
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java: 
1218) 
        at 
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java: 
500) 
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java: 
448) 
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 
40) 
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java: 
117) 
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 
40) 
        at 
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java: 
117) 
        at org.mortbay.jetty.Server.doStart(Server.java:217) 
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 
40) 
        at 
com.google.appengine.tools.development.JettyContainerService.startContainer (JettyContainerService.java: 
188) 
        at 
com.google.appengine.tools.development.AbstractContainerService.startup(Abs tractContainerService.java: 
147) 
        at 
com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerI mpl.java: 
219) 
        at com.google.appengine.tools.development.DevAppServerMain 
$StartAction.apply(DevAppServerMain.java:162) 
        at com.google.appengine.tools.util.Parser 
$ParseResult.applyArgs(Parser.java:48) 
        at 
com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServer Main.java: 
113) 
        at 
com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMa in.java: 
89) 
Caused by: org.jruby.rack.RackInitializationException: no such file to 
load -- time 
        from file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/booter.rb:25:in `boot!' 
        from file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/boot/rack.rb:10 
        from file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/boot/rack.rb:1:in `load' 
        from <script>:1 
        at org.jruby.rack.DefaultRackApplicationFactory 
$4.init(DefaultRackApplicationFactory.java:169) 
        at 
org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackAppl icationFactory.java: 
51) 
        at 
org.jruby.rack.SharedRackApplicationFactory.init(SharedRackApplicationFacto ry.java: 
27) 
        ... 19 more 
Caused by: org.jruby.exceptions.RaiseException: no such file to load 
-- time 
        at (unknown).new(file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/booter.rb:25) 
        at Kernel.require(file:/Users/jwang392/hello-world/WEB-INF/lib/jruby- 
rack-0.9.6.jar!/jruby/rack/booter.rb:25) 
        at JRuby::Rack::Booter.boot!(file:/Users/jwang392/hello-world/WEB-INF/ 
lib/jruby-rack-0.9.6.jar!/jruby/rack/boot/rack.rb:10) 
        at (unknown).(unknown)(file:/Users/jwang392/hello-world/WEB-INF/lib/ 
jruby-rack-0.9.6.jar!/jruby/rack/boot/rack.rb:1) 
        at (unknown).(unknown)(file:/Users/jwang392/hello-world/WEB-INF/lib/ 
jruby-rack-0.9.6.jar!/jruby/rack/boot/rack.rb:1) 
        at Kernel.load(<script>:1) 
        at (unknown).(unknown)(:1) 
The server is running at http://localhost:8080/ 

我不知道我可能错过了哪一步。 我检查了我的 ruby​​ 版本 (1.8.7) 和 rails 版本 (2.3.5)、gem 版本 (1.3.6) 和 google-appengine-0.0.10.1

跑:

sudo gem 安装 google-appengine

卷曲 -O http://appengine-jruby.googlecode.com/hg/demos/rails2/rails2_appengine.rb

ruby rails2_appengine.rb

sudo gem install rails_dm_datastore

须藤宝石安装 activerecord-nulldb-适配器

把它放在我的 config.ru 文件中:

运行 lambda { |env| 机架::Response.new('你好 世界!').finish }

终于跑了 $ dev_appserver.rb 。

【问题讨论】:

    标签: ruby-on-rails google-app-engine jruby


    【解决方案1】:

    好的。我在 Google Group 得到了 John Woodell 的一些帮助。

    对于 Rails,您应该遵循 gist 上的说明打个招呼 世界应用程序这样做......

    $ appcfg.rb generate_app hello-world  
    $dev_appserver.rb hello-world
    

    我不知道我可能错过了哪一步。 我检查了我的 ruby​​ 版本(1.8.7)和 rails 版本(2.3.5),gem 版本 (1.3.6) 和 google-appengine-0.0.10.1 跑了

    sudo gem install google-appengine
    curl -O http://appengine-jruby.googlecode.com/hg/demos/rails2/rails2_appengine.rb
    ruby rails2_appengine.rb
    sudo gem install rails_dm_datastore
    sudo gem install activerecord-nulldb-adapter 
    

    把它放在我的 config.ru 文件中:

    run lambda { |env|Rack::Response.new('Hello World!').finish }  
    

    终于跑了
    $ dev_appserver.rb .

    好的。我遵循了一切,但仍然遇到了问题。想通了 这是怎么回事。我开始创建项目文件夹并遇到了 unix 有趣的问题之地,它不喜欢有空格的目录 名字。一旦我摆脱了空间,一切都运行良好。男孩,我觉得 现在真的很愚蠢。

    【讨论】:

      猜你喜欢
      • 2019-01-08
      • 2011-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多