JRuby 1.6.7 Weblogic 10.3 LoadError:没有要加载的文件 - active_record

时间:2012-05-10 18:33:12

标签: gem weblogic jruby

我的目标:在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中但没有成功。

1 个答案:

答案 0 :(得分:0)

您可能缺少Active Record库。如果您能够,请尝试通过

安装它们
sudo gem install activerecord