2015-08-21 30 views
0

我正在使用jruby,並且在初始化某些內容後需要啓動一些Java代碼。以下是我需要在application.rb中啓動的代碼。我有適當的類和庫被導入。Rails Jruby LoadError:在config.after_initialize中使用Java Class時,無法加載此類文件

config.after_initialize do 
    ihp = IPHistoryProcessor.new("/home/ubuntu/jruby/logs/inputFiles/") 
end 

不過,我得到以下錯誤

LoadError: no such file to load -- /home/ubuntu/jruby/jruby_try_4/config/environment 
require at org/jruby/RubyKernel.java:940 
block in require at /home/ubuntu/.rvm/gems/jruby-9.0.0.0/gems/activesupport-4.1.12/lib/active_support/dependencies.rb:247 
........ 

我可以調用其它嵌入Ruby類而不是這個java類,我做。我不知道問題出現在哪裏。從我看到的其他帖子的大多數跡象表明這是一個乘客問題,但我使用Puma作爲服務器。任何幫助解決這個將不勝感激。謝謝!

回答

0

你需要告訴JRuby的哪裏尋找你的Java .class ...否則不知道什麼Rails的(沒有約定從一個位置自動加載.class文件,如LIB)...嘗試:

$CLASSPATH << 'lib/java' # set this early e.g. in boot.rb 

或whereverer IPHistoryProcessor.class是(包括PKG目錄結構)

相關問題