Rail3でJavaを呼び出し
ちょっと、調べたので、忘れないうちに書き込みします。
Rails3からJavaのクラスを使用する方法です。
Javaのソースは単純
package test.rjb; class SampleClass { public SampleClass() { } public String sample() { return "Hello Java!"; } }
こいつをJARに入れます。Ant使いました。
~
Rails3の方はconfig/environment.rbに以下を書きます。
ENV['JAVA_HOME'] = "/usr/local/jdk1.6.0_21/" ENV['LD_LIBRARY_PATH'] = "/usr/local/jdk1.6.0_21/jre/lib/"
ここでGeneratorでController作ります。
rails g Sample index
作ったJARファイルはlib/jars以下に入れます。
class SampleController < ApplicationController def index rjbtest_path = '/home/majima/Rails3/rjb/lib/jars/rjbtest.jar' Rjb::load(rjbtest_path); str = Rjb::import('test.rjb.SampleClass') @s = str.new.sample end end
出来上がったControllerにindexに以下の様に書きます。
class SampleController < ApplicationController def index rjbtest_path = '/home/smajima/Rails3/rjb/lib/jars/rjbtest.jar' Rjb::load(rjbtest_path); str = Rjb::import('test.rjb.SampleClass') @s = str.new.sample end end
View側にいかのように書くとHello Java!と表示されます。
<h1>Rjb</h1> <%= @s %>