我正在尝试将整个文件夹添加到我的Rails应用程序的JRuby 1.5类路径中。 JRuby Wiki建议如下:“...将配置目录添加到config/environment.rb
中的JRuby类路径:”
$CLASSPATH << "file:///#{File.expand_path(File.join(RAILS_ROOT, 'config'))}/"
这似乎对我不起作用。无论我是在Rails::Initializer.run
块之前,之后还是之内放置它都无关紧要。无论如何,我得到:
/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
例如,我正在尝试在名为RAILS_ROOT
的{{1}}下添加一个文件夹,因此我将以下内容添加到resources/foobar
:
environment.rb
同样的错误。
使用Rails将文件夹添加到JRuby类路径的正确方法是什么?
答案 0 :(得分:26)
首先要求java。这就是让$ CLASSPATH变量生效的原因。
include Java
$CLASSPATH << "your/folder"
在JRuby的1.0之前的版本中,你会改为require 'java'
,但在现代的JRuby中,它默默无效。