ruby-on-rails classpath jruby jrubyonrails

JRuby on Rails: Agregar una carpeta a la ruta de clase



ruby-on-rails classpath (1)

Estoy tratando de agregar una carpeta completa a la ruta de clase JRuby 1.5 para mi aplicación Rails. El wiki de JRuby sugiere lo siguiente: "... agregue el directorio de configuración a la ruta de clase de JRuby en config/environment.rb :"

$CLASSPATH << "file:///#{File.expand_path(File.join(RAILS_ROOT, ''config''))}/"

Eso no parece funcionar para mí. No importa si lo puse antes, después o dentro del bloque Rails::Initializer.run . No importa qué, me sale:

/home/sean/src/sbruby/seo/config/environment.rb:45:NoMethodError: undefined method `<<'' for nil:NilClass /home/sean/apps/jruby/jruby-1.5.0/lib/ruby/gems/1.8/gems/rails-2.3.7/lib/rails/backtrace_cleaner.rb:2:NameError: uninitialized constant ActiveSupport::BacktraceCleaner /home/sean/apps/jruby/jruby-1.5.0/lib/ruby/gems/1.8/gems/rails-2.3.7/lib/console_with_helpers.rb:5:NameError: uninitialized constant ApplicationController

Por ejemplo, estoy tratando de agregar una carpeta en RAILS_ROOT llamada resources/foobar , así que agregué lo siguiente a environment.rb :

$CLASSPATH << "file:///#{File.expand_path(File.join(RAILS_ROOT, "resources", "foobar"))}/"

Mismo error.

¿Cuál es la forma correcta de agregar una carpeta a la ruta de clases JRuby con Rails?


Requiere java primero. Eso es lo que hace que la variable $ CLASSPATH viva.

include Java $CLASSPATH << "your/folder"

En las versiones pre-1.0 de JRuby, require ''java'' lugar, pero en JRuby moderno eso no funciona silenciosamente.