我的目标:在war / ear打包的jar文件中包含所有Ruby源代码和gem。这是必需的,因为我工作的组织不会接受将它们放在J2EE容器外的文件系统上。
在Weblogic 10.3上使用JRuby 1.6.7我收到以下错误。 “LoadError:没有要加载的文件 - active_record”。我的设置是我已经下载了jruby-complete并将其放入我的Web应用程序中。我还使用These directions将ActiveRecord及其支持的宝石添加到jruby-gems.jar。当我构建我的Web应用程序时,我将两个jar添加到war文件lib和ear文件中的META-INF / lib。我也尝试将它们添加到ear文件的APP-INF / lib文件夹中。仍然收到LoadError。
此外,我在讨论here时将以下内容添加到我的加载路径中。我已经使用和没有开始正斜杠和使用和没有“classpath:”
完成了这个
List paths = new ArrayList();
paths.add("classpath:/ruby");
paths.add("classpath:/myapp");
paths.add("classpath:/META-INF/jruby.home/lib/ruby/gems/soart");
paths.add("classpath:/META-INF/jruby.home/lib/ruby/1.9");
paths.add("classpath:/META-INF/jruby.home/lib/ruby/site_ruby/1.9");
paths.add("classpath:/META-INF/jruby.home/lib/ruby/site_ruby/shared");
paths.add("classpath:/META-INF/jruby.home/lib/ruby/gems/1.9");
container.setLoadPaths(paths);
我的所有单元测试都在通过,并且我已经验证了jar文件正在进入ear和war文件。单元测试使用ActiveRecord从数据库中提取数据。
因为我无法控制部署服务器,所以我将GEM_PATH和GEM_HOME环境变量设置为空字符串。所有资源都需要来自战争/耳中。
此外值得一提的是,这不是Ruby on Rails应用程序,也不能在此时制作它。
更新
尝试将gem文件放在jruby-complete.jar中但没有成功。
答案 0 :(得分:0)
您可能缺少Active Record库。如果您能够,请尝试通过
安装它们sudo gem install activerecord