ERB on JRuby
JRuby0.8.3にてRuby on Railsが一部対応したとのことで、たぶんERBもJRubyで動くようになったんだろうなあと思い試してみました。
結論は、JRuby上でERBは動く!
とりあえずEclipse上でBSFを利用して以下のスクリプトを実行してみました。プロジェクトの構成はこんな感じでした。

test.rb
$:.unshift "./lib" puts "test" require 'erb' str = 'My number is <%= bar %>.' bar = 1986 puts ERB.new(str).result(binding)
BsfTest.java
package jp.fraction.test;
import java.io.IOException;
import org.apache.bsf.BSFException;
import org.apache.bsf.BSFManager;
import org.apache.commons.io.IOUtils;
public class BsfTest {
/**
* @param args
* @throws BSFException
* @throws IOException
*/
public static void main(String[] args) throws BSFException, IOException {
BSFManager manager = new BSFManager();
// スクリプトの実行。
manager.exec("ruby", "(java)", 1, 1, IOUtils.toString(BsfTest.class
.getResourceAsStream("/test.rb")));
}
}
これでJava上のテンプレートエンジンの選択肢がVelocityやFreeMakerに加えてさらに一つ増えた訳でめでたいことですw