开发者

Routing Error in Rails 3

开发者 https://www.devze.com 2023-04-08 21:12 出处:网络
I\'m upgrading my application running on Jruby 1.4& rails 2.3 to Rails 3.1.0 and jruby 1.6. I followed the Rails 3 upgrade Handbook by

I'm upgrading my application running on Jruby 1.4 & rails 2.3 to Rails 3.1.0 and jruby 1.6. I followed the Rails 3 upgrade Handbook by Jeremy, and using the plugin rails_upgrade, but when I fire the server I'm getting errors. like

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

Somebody please help me. This is the error log

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_ex开发者_如何学Ct/
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'


I suspect that you have jar files, including a hibernate jar, in lib or some other folder that was autoloaded by Rails 2.3

have a look at

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

You may still need to include the requires descibed by jens in his comment.


At last I found the solution, In windows we need to load the classes first then the jar files.

like (This is really strange!)

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

Apart from we need to include the class

   include_class '<your class>.persistence.HibernateUtil'

Thanks for all the help.

0

精彩评论

暂无评论...
验证码 换一张
取 消