我正在使用JRuby 1.4.0并希望使用Ruport来制作CSV文件。这完全有效,直到我用warbler制作一个war文件将它放在服务器上。
当我将以下代码添加到environment.rb时,JRuby抱怨No such file to load -- 'ruport'
config.after_initialize do
require 'ruport'
require 'ruport/acts_as_reportable'
end
它本地完美,因为我通过gem install ...
安装了ruport和acts_as_reportable,但现在我想在tomcat服务器上执行它,我听说你可以将它们添加到你的gems文件夹中使用它(这需要安装/配置吗?)。
我还向warble添加了所需的带有依赖关系的gem,将以下行添加到warble.rb:
config.gems = ["ruport", "acts_as_reportable", "activerecord-oracle_enhanced-adapter", "rails", "rack"]
它仍然会出现同样的问题。所有我发现谷歌搜索是你应该将config.gem 'acts_as_reportable', :lib => 'ruport/acts_as_reportable'
添加到warble.rb,因为AAR gem就是这样需要的。问题是我的JRuby版本只有1.4.0并且抱怨config.gem是一个私有方法调用,这似乎只适用于更新版本的JRuby。
谢谢!
答案 0 :(得分:0)
Warbler基于jruby-rack。您可能想要查看gem.path设置
在web.xml文件中。我复制粘贴了以下jruby-rack JRuby-Rack Configuration
部分的描述。
gem.path: Relative path to the bundled gem repository. Defaults to /WEB-INF/gems.
如果您对Tomcat和webapps的概念感到满意,可以按照jruby-rack文档,在Tomcat中使用jruby-rack运行您的应用程序。