改叫 JRoR 嗎?還是 JoR 呢? :p

當下載 JRuby 回來使用時,裡面就已經搭載好了 JRuby 版本的 Ruby Gems,同時也就可以直接

# gem install –no-rdoc –no-ri rails

來安裝 Rails 使用,但是,原本在傳統 Ruby on Rails 中最常使用的 ruby-mysql API 在 JRuby 中是無法安裝的,因為 JRuby 沒有 mkmf 所以無法 build 這個 API,所以必須利用 ActiveRecord-JDBC 來利用 JDBC 連接到像 MySQL 這樣的資料庫,安裝的方法也很簡單:

# gem install –no-rdoc –no-ri ActiveRecord-JDBC

然後,當你用 rails <app_name> 產生 Rails application 後,要在 $APP/config/environment.rb 中的 Rails::Initializer.run do |config| 之前加上:


if RUBY_PLATFORM =~ /java/
    require 'rubygems'
    RAILS_CONNECTION_ADAPTERS = %w(jdbc)
end

當然,$APP/config/database.yml 也要作一些修改,像是這樣:


development:
    adapter: jdbc
    driver: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/foo_development
    username: foo
    password: bar

最後,別忘了要設定你的 $CLASSPATH 環境變數,讓它指到 jdbc mysql driver 的檔案。

如此一來,便能夠 JRuby on Rails 了!

 

歷史上的今天

目前有 4 則留言
  1. 傑洛:

    叫作JRoR好了.. JoR的話就跟我之前寫的RoR Judge系統(JudgeOnRails)同名了XD

    不過我想問問,如何把現有的Rails Project移到JRuby去跑呢? 想試試看@@

  2. ericsk:

    傑洛:
    $APPHOME/public/dispatch.* 裡的 #/usr/bin/env ruby 改成 #!/usr/bin/env jruby 就好了 :P

    (當然,你的 $PATH 要能找到 jruby :P)

  3. 傑洛:

    oops.. 原來這麼簡單阿:P

    謝謝:)

  4. ericsk’s blog » JRuby on Rails: Java Application Server Deployment:

    [...] JRuby on Rails 注意事項 [...]

我要留言
(必填)
(必填)