JRubyonRails怎么向类路径添加一个文件夹?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (7)

我试图将整个文件夹添加到我的Rails应用程序的JRuby 1.5路径中。在JRuby的维基提出以下建议:“......添加config目录到JRuby的类路径config/environment.rb:”

$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被调用的地方添加一个文件夹resources/foobar,所以我添加了以下内容environment.rb

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

同样的错误。

使用Rails将文件夹添加到JRuby类路径的正确方法是什么?

提问于
用户回答回答于

首先需要java。这就是使$CLASSPATH变量存活的原因。

include Java
$CLASSPATH << "your/folder"

在JRuby的前1.0版本中,可以这样做require 'java'相反,在JRuby中,这种方法不起作用。

扫码关注云+社区