close
所需軟體
安裝Ruby
  1. 下載Ruby
  2. 解壓縮至ruby目錄
  3. 切換工作目錄至ruby/bin
  4. 安裝Rails
    gem i rails -y --no-ri --no-rdoc
  5. 安裝JDBC adapter
    gem i activerecord-jdbc -y --no-ri --no-rdoc
安裝JRuby
  1. 下載JRuby
  2. 解壓縮至jruby目錄
  3. 設定環鏡變數JRUBY_HOME,指向jruby目錄
  4. 將jruby/bin目錄加入PATH
  5. 安裝Rails
    gem i rails -y --no-ri --no-rdoc
  6. 安裝JDBC adapter
    gem i activerecord-jdbc -y --no-ri --no-rdoc
  7. 將ruby/bin/rails.cmd複製到jruby/bin目錄
  8. 將ruby/bin/rake.bat複製到jruby/bin目錄
  9. 編輯jruby/bin/rake.bat,將ruby執行檔路徑改成完整路徑,指向ruby/bin/ruby
建立rails專案
  1. 執行rails demo,建立測試專案
  2. 切換工作目錄至demo
  3. 安裝整合plugin
    jruby script/plugin install svn://rubyforge.org/var/svn/jruby-extras/trunk/rails-integration/plugins/war
  4. 啟動伺服器
    jruby script/server
  5. 用瀏覽器開啟http://localhost:3000/
啟動Jetty 6
  1. 下載Jetty 6
  2. 取出壓縮檔裡,lib目錄中的三個jar檔:jetty-*.jar、jetty-util-*.jar、servlet-api-*.jar
  3. 將上述三個jar檔加入CLASSPATH
  4. 切換工作目錄至rails專案
  5. 建立demo.war檔
    rake war:shared:create
  6. 刪除war檔中的WEB-INF\lib\jruby-complete-*.jar,因為會和jruby本身打架
  7. 將文末的程式碼存成server.rb
  8. 啟動伺服器
    jruby server.rb
  9. 用瀏覽器開啟http://localhost:3000/

將war檔佈署至一般的web container,不使用server.rb啟動時,不需刪除war檔中的WEB-INF\lib\jruby-complete-*.jar。開發 時,可以將war檔中的WEB-INF目錄放到rails專案目錄中,再將server.rb中的

WebAppContext.new(contexts, "demo.war", "/")

改成

WebAppContext.new(contexts, ".", "/")

如此,不用建立war檔也能測試。

server.rb
require 'java'

include_class 'org.mortbay.jetty.Server'
include_class 'org.mortbay.jetty.handler.ContextHandlerCollection'
include_class 'org.mortbay.jetty.webapp.WebAppContext'

server = Server.new(3000)
contexts = ContextHandlerCollection.new

WebAppContext.new(contexts, "demo.war", "/")

server.setHandler(contexts)
server.start
server.join
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Forth 的頭像
    Forth

    不就是個blog

    Forth 發表在 痞客邦 留言(0) 人氣()