JavaからJRubyを実行 ライブラリが使えない

Java 6。JRuby 1.1。jsr223-engines
2008年4月12日版。

JRubyのrubyスクリプトで require 'csv' としている場合。jrubyコマンドで実行すれば問題ないが、
Javaからscriptingを使用してJRubyでrubyスクリプトを実行した場合は次のエラーが出て使えない。

javax.script.ScriptException: org.jruby.exceptions.RaiseException: no such file to load — csv

解決方法
1. ここから jsr223-engines.zip を取ってきてclasspathに追加
2. ここのリンクのここから jruby-src-1.1.tar.gz を取ってきて、ant jar-complete で jruby-complete.jar を生成、JRubyの jruby.jar と置き換える。

参考にしたのはここ。ちなみに以下のトライでは解決できなかった。

-I D:\java\jruby-1.1\lib\ruby\1.8 use_csv.rb
-Dcom.sun.script.jruby.loadpath=D:\java\jruby-1.1\lib\jruby.jar
String loadPath = "D:\\java\\jruby-1.1;D:\\java\\jruby-1.1\\lib\\ruby\\1.8";
System.setProperty("com.sun.script.jruby.loadpath", "ruby/1.8" + loadPath)

Leave a Reply