Ошибки Java с jRuby on Rails в Google App Engine

Я следовал всем инструкциям с: http://code.google.com/p/appengine-jruby/wiki/RunningRails и http://gist.github.com/268192

В настоящее время я просто пытаюсь добраться до hello world. Я получаю эти ошибки, когда просто запускаю 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

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

рубиновые рельсы2_appengine.rb

sudo gem установить rails_dm_datastore

sudo gem установить активную запись-nulldb-адаптер

поместите это в мой файл config.ru:

запустить лямбда { | env | Rack::Response.new('Привет, мир!').finish }

и, наконец, запустил $ dev_appserver.rb.


person John Wang    schedule 08.04.2010    source источник


Ответы (1)


В порядке. В группе Google мне помог Джон Вуделл.

Для Rails вы должны следовать инструкциям по сути. Для приложения hello world сделайте следующее...

$ 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 fun-problem-land из-за того, что мне не нравились каталоги с пробелами в именах. как только я избавился от пробелов, все пошло нормально. Боже, прямо сейчас я чувствую себя настоящей дурой.

person John Wang    schedule 08.04.2010