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.