rubyでJavaとの連携

sinatraでサーバ立ててリクエストを受け、処理は現在動いているjavaを利用したいので
rubyjavaをブリッジするrjeを試してみた。

1.JAVA_HOMEの設定

export JAVA_HOME=/usr/lib/jvm/java-7-oracle

※今回はsuしてrootに設定しないとrjbをインストールする際に以下のエラーが出た

JAVA_HOME is not set

2.build-essentialのインストール

gem install build-essential

3.rjbのインストール

gem install rjb

4.使ってみる

Check.java

public class Check{
  public static boolean isAbc(String str){
    if ("abc".equals(str)) return true;
    return false
  }
}

hoge.rb

require 'rjb'

check = Rjb::import "Check"
puts check.isAbc "abc"
puts check.isAbc "hoge"

実行結果

true
false