Ошибка маршрутизации в Rails 3 - PullRequest
       20

Ошибка маршрутизации в Rails 3

0 голосов
/ 28 сентября 2011

Я обновляю свое приложение, работающее на Jruby 1.4 и rails 2.3, до Rails 3.1.0 и jruby 1.6.Я следовал Руководству по обновлению Rails 3 от Джереми и использовал плагин rails_upgrade, но когда я запускаю сервер, я получаю ошибки.как

Routing Error
cannot load Java class com.mysentry.persistence.HibernateUtil 

Кто-нибудь, пожалуйста, помогите мне.Это журнал ошибок

Started GET "/admin/login/en/sentry" for 127.0.0.1 at Wed Sep 28 13:13:56 -0400
2011

ActionController::RoutingError (cannot load Java class com.mysentry.persistence.
HibernateUtil):
org/jruby/javasupport/JavaClass.java:1204:in `for_name'
org/jruby/javasupport/JavaUtilities.java:34:in `get_proxy_class'
 C:/upgrade/jruby-1.6.4/lib/ruby/site_ruby/shared/builtin/javasupport/core_ext/
 object.rb:46:in `java_import'
C:/upgrade/jruby-1.6.4/lib/ruby/site_ruby/shared/builtin/javasupport/core_ext/
object.rb:26:in `include_class'
lib/sentry/interceptor/transaction_interceptor.rb:5:in `Interceptor'
lib/sentry/interceptor/transaction_interceptor.rb:2:in `Sentry'
lib/sentry/interceptor/transaction_interceptor.rb:1:in `(root)'
 org/jruby/RubyKernel.java:1038:in `require'
polyglot (0.3.2) lib/polyglot.rb:63:in `require'
 activesupport (3.1.0) lib/active_support/dependencies.rb:240:in `require'
 activesupport (3.1.0) lib/active_support/dependencies.rb:223:in `load_dependen
cy'
activesupport (3.1.0) lib/active_support/dependencies.rb:640:in `new_constants
_in'
activesupport (3.1.0) lib/active_support/dependencies.rb:639:in `new_constants
_in'
activesupport (3.1.0) lib/active_support/dependencies.rb:223:in `load_dependen
 cy'
activesupport (3.1.0) lib/active_support/dependencies.rb:240:in `require'
lib/sentry/interceptor/transaction_interceptor.rb:7:in `Dispatcher'
lib/sentry/dispatcher/application_dispatcher.rb:3:in `Sentry'
lib/sentry/dispatcher/application_dispatcher.rb:2:in `(root)'
org/jruby/RubyKernel.java:1038:in `require'
polyglot (0.3.2) lib/polyglot.rb:63:in `require'

Ответы [ 2 ]

1 голос
/ 07 октября 2011

Я подозреваю, что у вас есть файлы jar, включая спящий jar, в lib или какой-то другой папке, которая была автоматически загружена Rails 2.3

взгляните на

http://hemju.com/2010/09/22/rails-3-quicktip-autoload-lib-directory-including-all-subdirectories/

Возможно, вам все еще придется включить требования, описанные Йенсом, в его комментарии.

0 голосов
/ 08 октября 2011

Наконец-то я нашел решение: в windows сначала нужно загрузить классы, а затем файлы jar.

like (это действительно странно!)

 set CLASSPATH = %<project_name>%\classes;%<project_name>%\lib\java\ant-antlr-1.6.5.jar;....

Кроме наснужно включить класс

   include_class '<your class>.persistence.HibernateUtil'

Спасибо за помощь.

...