2012-05-10 49 views
0

我的目標是:將所有Ruby源代碼和gems放在與war/ear打包在一起的jar文件中。這是必需的,因爲我工作的組織不會接受將它們放置在J2EE容器之外的文件系統上。JRuby 1.6.7 Weblogic 10.3 LoadError:無需加載這樣的文件--active_record

在Weblogic 10.3上使用JRuby 1.6.7我收到以下錯誤。 「LoadError:沒有這樣的文件加載 - active_record」。我的設置是我已經下載了jruby-complete並將它放置在我的Web應用程序中。我還使用These directions將ActiveRecord及其支持的寶石添加到jruby-gems.jar中。當我構建我的Web應用程序時,我將兩個jar添加到war文件庫中,並添加到ear文件中的META-INF/lib。我也嘗試將它們添加到ear文件的APP-INF/lib文件夾中。仍然收到LoadError。

此外,我加入以下內容到我的加載路徑中,如討論here。我這樣做有和沒有前開始削減,並與和withouth的的「類路徑:」



    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文件使它成爲耳朵和戰爭文件。單元測試使用ActiveRecord從數據庫中提取數據。

因爲我不會控制我的部署服務器,所以我將GEM_PATH和GEM_HOME環境變量設置爲空字符串。所有的資源都需要來自戰爭/耳內。

另外值得一提的是,這不是一個Ruby on Rails應用程序,我現在也無法做到這一點。

更新

試圖將寶石文件JRuby的complete.jar沒有成功。

回答

0

您可能會缺少活動記錄庫。如果可以,請嘗試通過安裝

sudo gem install activerecord 
相關問題