2015-08-21 84 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目录结构)

相关问题