JRuby on RailsでDerbyを使うために一番簡単な環境構築の方法

以前、JRuby on RailsでDerbyを使うにはderby.jarを取ってくる必要があるとここらへんの記事を参考にしてUbuntuでderby.jarを簡単に取得する記事を書いたのですが、どうもこれをみると、その必要がないようです。。ちょっと試してみます。

gemでactiverecord-jdbcderby-adapterをインストールします。

$ sudo $JRUBY_HOME/bin/jruby -S gem install activerecord-jdbcderby-adapter
Successfully installed activerecord-jdbc-adapter-0.9
Successfully installed activerecord-jdbcderby-adapter-0.9
2 gems installed
Installing ri documentation for activerecord-jdbc-adapter-0.9...
Installing ri documentation for activerecord-jdbcderby-adapter-0.9...
Installing RDoc documentation for activerecord-jdbc-adapter-0.9...
Installing RDoc documentation for activerecord-jdbcderby-adapter-0.9...

activerecord-jdbc-adapterも依存でインストールされます。

railsコマンドで適当に作ったプロジェクトで、config/database.ymlを以下のように修正します。

development:
  adapter: jdbcderby
  hostname: localhost
  database: db/development

DBを作成してみます。

$ jruby -S rake db:create
(in /home/fujibee/work/derby-test)

なんか拍子抜けですが、db/developmentをみると、ちゃんと出来てます!

$ ls -F db/development/
dbex.lck  db.lck  log/  seg0/  service.properties  tmp/

実際にrailsアプリとしてもちゃんと動作しました。
では、どこにderby.jarがあるんでしょう??
探してみると、ローカルのgemリポジトリにしっかりありました。

$ ls -F $JRUBY_HOME/lib/ruby/gems/1.8/gems/jdbc-derby-10.3.2.1/lib
derby-10.3.2.1.jar  jdbc/

タイムスタンプを見ると、先ほどのactiverecord-jdbcderby-adapterといっしょにインストールされたようです。

つまり、JRuby on RailsでDerbyを使いたければ、
activerecord-jdbcderby-adapterをgemでインストール」
のみでOK、ということがわかりました。
これは、ちょっとしたJRuby(on Rails)のデモ作成などに、すごく便利だと思います。

今回は以下のサイトを参考にしました。ありがとうございます。