jettyでJRuby On Railsを動かすメモ
JRubyのインストール
- http://jruby.codehaus.org/から辿って、jruby-bin-1.0.zipをダウンロード
- C:\jruby\へ解凍
Railsのインストール
C:\>jruby %JRUBY_HOME%\bin\gem -v 0.9.4
でgemが入っていることを確認(最近のリリースには最初から入ってる模様)
今後毎回 jruby %JRUBY_HOME%\bin\gem ...とフルパス指定するのは面倒くさいと思ってたら、省略する方法があるみたい。
C:\>jruby -h 中略 -S cmd run the specified command in JRuby's bin dir
だそうで。つまり以下のようにも実行可能ということ。aliasが出来ない(出来なくはないけど面倒くさい)Windows環境だと重宝する。こういう細かい心配りがうれしい。
C:\>jruby -S gem -v 0.9.4
JRubyへのRailsのインストール
C:\>jruby -S gem install rails --include-dependencies
なんか途中で2回ほどException出てた…なんだろう…とりあえずこのまま進めよう…
... Installing ri documentation for actionpack-1.13.3... While generating documentation for actionpack-1.13.3 ... MESSAGE: java.lang.ArrayIndexOutOfBoundsException: null ... RDOC args: --ri --op C:/jruby/jruby-1.0/lib/ruby/gems/1.8/doc/actionpack-1.13.3/ri --quiet lib (continuing with the rest of the installation) Installing ri documentation for actionmailer-1.3.3... ... While generating documentation for actionpack-1.13.3 ... MESSAGE: java.lang.ArrayIndexOutOfBoundsException: null ... RDOC args: --op C:/jruby/jruby-1.0/lib/ruby/gems/1.8/doc/actionpack-1.13.3/rdoc --quiet lib (continuing with the rest of the installation) Installing RDoc documentation for actionmailer-1.3.3... ...
Railsプロジェクト作成
C:\Docs\Eclipse\Workspaces\demos>jruby -S rails hello-rails
とりあえず起動してみる
C:\Docs\Eclipse\Workspaces\demos>cd hello-rails C:\Docs\Eclipse\Workspaces\demos\hello-rails>jruby script/server
で、http://localhost:3000/ にアクセスしてみると無事動作した。
goldspike(warファイル作成機能)のインストール
C:\Docs\Eclipse\Workspaces\demos\hello-rails>script/plugin install svn://rubyforge.org/var/svn/jruby-extras/trunk/rails-integration/plugins/goldspike
で、いけるらしいんだけど、今いる場所からだとsvnプロトコルが通らないみたいなので個人サーバで
svn export svn://rubyforge.org/var/svn/jruby-extras/trunk/rails-integration/plugins/goldspike
して落としてからhello-rails\vendor\plugins\goldspikeとしてコピーした。
以下のコマンドでgoldspikeのインストールを確認
C:\Docs\Eclipse\Workspaces\demos\hello-rails>jruby -S rake -T
... rake tmp:war:clear # Clears all files used in the creation of a war rake war:shared:create # Create a war for use on a Java server where JRuby is available rake war:standalone:create # Create a self-contained Java war rake war:standalone:run # Run the webapp in Jetty ...
が増えてればOK
warファイル作成
C:\Docs\Eclipse\Workspaces\demos\hello-rails>jruby -S rake war:standalone:create
む…怒られた
... Adding Ruby gem actionwebservice version 1.2.3 rake aborted! The ActiveRecord-JDBC gem is not installed ...
ActiveRecord-JDBCは後で入れればいいと思ってたけど最初からいるらしい。というわけで以下のコマンドでインストール
C:\Docs\Eclipse\Workspaces\demos\hello-rails>jruby -S gem install activerecord-jdbc
再び
C:\Docs\Eclipse\Workspaces\demos\hello-rails>jruby -S rake war:standalone:create
よし、今度は成功した。