かずきのBlog
C#やJavaやRubyとメモ書き

目次

Blog 利用状況
  • 投稿数 - 441
  • 記事 - 1
  • コメント - 475
  • トラックバック - 113
ニュース
  • 思い出は、いっぱい。
コメント
プログラマ的自己紹介
  • C#とRubyを趣味で。Javaを仕事で使ってやってます。 WPFをコツコツ勉強中。 IDE大好き。Visual Studio, Eclipse, NetBeansを使用中
お気に入りのツール/IDE
  • Visual Studio 2008 std
  • Eclipse
  • NetBeans6.0以降
  • 自作のツール
プロフィール
  • 大田 一希
  • 1981年1月30日産まれ
  • AB型
  • 左利き
経歴
  • 1993年 海田中学校 入学
  • 1996年 広島県立安芸南高等学校 入学
  • 1999年 某大学 環境情報学科 入学
  • 2003年 某大学 大学院 環境学研究科 入学
  • 2005年 就職して上京
  • 今に至る
アクセサリ
  • あわせて読みたい
  • ログ解析ネット証券

書庫

日記カテゴリ

 

NetBeans 6.5のbetaをほとんど使ってなかったので、使ってみた。何に使おうか悩んだんだけど、とりあえずJRubyをお試ししてみよう。ということでタイトルのJRubyでJavaのクラスを呼んでみるを試してみよう。

さて、呼ぶために必要な手順は2つだけだ。

  1. require 'java'をする
  2. include_class or include_packageをする

以上!簡単すぎる。ということでArrayListを使ってみた。

# 前準備
require 'java'
include_class('java.util.List')

# ArrayListのインスタンスを作ってaddメソッドを使ってみる
list = java.util.ArrayList.new
list.add("こんにちは")
list.add("世界")

# eachでくるくる回すことも出来るのね
list.each do |item|
  puts item
end

実行すると、普通に結果が出る。

こんにちは
世界

これでSwingを使ったりとかもやりたい放題だ。ただ、これじゃあまり面白くないので外部のjarファイルに定義されているJavaのクラスを呼ぶ方法を試してみた。因みにCLASSPATHを通すことはしない!

まず、Javaのクラスライブラリのプロジェクトを作る。クラスはお試しなので1つだけ。文字列を返すだけにした。

package com.wankuma.kazuki.jruby.sample;

public class Greeter {
    public String greet(String name) {
        return "こんにちは!" + name + "さん!";
    }
}

これをビルドしてgreeter.jarを作成する。それを、JRubyのプロジェクトのlibフォルダ(ソースフォルダ)にコピーする。
image

さて、このjarファイルの中にあるクラスを使うための手順は以下の3つになる。

  1. require 'java'をする
  2. requrie 'jarファイル名'をする
  3. include_class or include_packageをする

なんとjarファイルをそのままrequire出来ちゃう。素敵だ。
ということでやってみた。

# 前準備
require 'java'
# jarファイルをrequireで読み込む
require 'greeter.jar'

# 後は普通に使えるようになる
include_class('com.wankuma.kazuki.jruby.sample.Greeter')
greeter = com.wankuma.kazuki.jruby.sample.Greeter.new
puts greeter.greet('田中 太郎')

実行してみると…

こんにちは!田中 太郎さん!

おお~ちゃんと使えてる。いいね。
POIとかも手軽に使えちゃいそう。

投稿日時 : 2008年9月13日 20:33
コメント
No comments posted yet.
タイトル  
名前  
Url
コメント