Ошибка при инициализации стойки с помощью JRuby - PullRequest
1 голос
/ 25 ноября 2011

Я получаю эту ошибку при запуске JBoss с моим приложением, созданным с помощью warbler:

Error: unable to initialize application 
org.jruby.rack.RackInitializationException: wrong number of arguments (1 for 0)

CallStack:

gems/gems/actionpack-3.0.9/lib/action_controller/railtie.rb:54:in `Railtie'
gems/gems/activesupport-3.0.9/lib/active_support/ordered_hash.rb:139:in `each'
org/jruby/RubyArray.java:1612:in `each'
gems/gems/activesupport-3.0.9/lib/active_support/ordered_hash.rb:139:in `each'
gems/gems/actionpack-3.0.9/lib/action_controller/railtie.rb:54:in `Railtie'
org/jruby/RubyKernel.java:2062:in `instance_eval'
gems/gems/activesupport-3.0.9/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
gems/gems/activesupport-3.0.9/lib/active_support/lazy_load_hooks.rb:43:in `run_load_hooks'
org/jruby/RubyArray.java:1612:in `each'
gems/gems/activesupport-3.0.9/lib/active_support/lazy_load_hooks.rb:42:in `run_load_hooks'
gems/gems/actionpack-3.0.9/lib/action_controller/base.rb:232:in `Base'
gems/gems/actionpack-3.0.9/lib/action_controller/base.rb:169:in `ActionController'
gems/gems/actionpack-3.0.9/lib/action_controller/base.rb:3:in `(root)'
gems/gems/actionpack-3.0.9/lib/action_controller/base.rb:48:in `Railtie'
org/jruby/RubyKernel.java:2079:in `instance_exec'
gems/gems/railties-3.0.9/lib/rails/initializable.rb:25:in `run'
gems/gems/railties-3.0.9/lib/rails/initializable.rb:50:in `run_initializers'
org/jruby/RubyArray.java:1612:in `each'
gems/gems/railties-3.0.9/lib/rails/initializable.rb:49:in `run_initializers'
gems/gems/railties-3.0.9/lib/rails/application.rb:134:in `initialize!'
org/jruby/RubyKernel.java:2093:in `send'
gems/gems/railties-3.0.9/lib/rails/application.rb:77:in `method_missing'
config/environment.rb:5:in `(root)'
org/jruby/RubyKernel.java:1038:in `require'
config/environment.rb:167:in `load_environment'
classpath:/./jruby/rack/rails.rb:172:in `to_app'
classpath:/./jruby/rack/rails.rb:192:in `new'
 <web.xml>:1:in `(root)'
org/jruby/RubyKernel.java:2062:in `instance_eval'
classpath:/./vendor/rack-1.3.5/rack/builder.rb:51:in `initialize'
<web.xml>:1:in `(root)'

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 28 ноября 2011

У нас были те же проблемы с Rails 3.0.11 / JBoss 5 и последней версией jruby-rack. Чтобы разобраться в этом, нам пришлось использовать jruby-rack 1.0.10

Пожалуйста, попробуйте добавить эту строку в ваш Gemfile:

gem 'jruby-rack', '1.0.10'
1 голос
/ 02 марта 2012

Я получил эту же ошибку при обновлении приложения до Rails 3. Проблема была связана с вызовом ActionController::Base.relative_url_root=, который должен выдавать предупреждение об устаревании, но он был отключен в Rails 3.0.10.

Мое решение заключалось в обновлении до jruby-rack 1.1.4 и rack 1.2.5.

...