自前のJavaクラスを呼び出す
JavaのAPIではなく、自前のJavaクラスをJRubyから呼び出してみる。
まずは、以下のJavaクラスを作成する。
package test; public class Hello { public void sayHello(){ System.out.println("Hello!"); } }
便宜上、%JRUBY_HOME%(ex. C:\tmp\jruby-1.0)にmylibという名のフォルダを作成して、そこに上記のクラスを配置する。
jirbはクラスパスとして、環境変数CPやCLASSPATHを見ているようなので、コマンドプロンプトから環境変数CPをセットしておく。
set CP=C:\tmp\jruby-1.0\mylib
jirbを起動して、以下の呪文をとなえる。
irb(main):001:0> require 'java' => true irb(main):002:0> include_class 'test.Hello' => ["test.Hello"]
これで、Javaのtest.HelloクラスをHelloという名前でJRuby上から使えるようになる。
実際にHelloクラスのインスタンスを作って、メソッドを呼び出してみる。
irb(main):003:0> hello = Hello.new => #<Java::Test::Hello:0x3b4b1e @java_object=test.Hello@c52200> irb(main):004:0> hello.sayHello Hello! => nil
正常に動作している模様。