実用レベルに達したJRubyを体感してみよう(後編)
Java屋がTomcatで
Ruby on Railsを試すには?
佐藤聖規
2008/7/24
Warblerでwarのパッケージ化をしよう
続いて、前編で作成したToDo管理アプリケーションを、Tomcat上で動かすためにwar(Web Application Resources)ファイル化します。
■ Warblerとは何か?
アプリケーションをwarファイル化するには、前述のWarblerを利用します。WarblerはRailsアプリケーションをwar化するGoldspikeをラッピングする形で作成しています(Warbler 0.9.5)。Goldspikeはwarファイルを作成するときにJavaサーブレット標準のフォルダ構成に準拠しない構成でwarファイルを作成してしまいます。一方、Warblerは動的ファイルを「WEB-INF」フォルダ以下に配置し、「.svn」「test」といった不要なファイルをwarファイルに含めません。
■Warblerを使ってwarファイルを作成する手順
手順は以下のとおりです。
- 「warbler config」コマンドでwarbler.rbを作成
- warbler.rbを編集
- 「warbler war」コマンドでwarファイルを作成
warbler.rbを作成するには、コマンドプロンプト上でwar化したいプロジェクト(例、ToDoManager)に移動して、以下のコマンドを実行します。
> jruby -S warble config |
コマンドが成功すると、「ToDoManager\config\warble.rb」ファイルができます。
続いて、warble.rb中の赤文字の部分を編集して、作成するwarファイルのRailsのバージョンや含めるパッケージの設定を行います。
# Warbler web application assembly configuration file |
最後に、warファイルを以下のコマンドで作成します。
> jruby -S warble war |
成功すると、「プロジェクト名.war(例、ToDoManager.war)」ファイルができています。
なお、warを作り直す場合は以下のコマンドを実行してwarファイルのために一時領域を削除します。
> jruby -S warble war:clean |
ついに発進! Tomcat on Rails
warファイルを作ることができたら、いよいよTomcat上にデプロイしましょう。warファイルさえ作成しておけば、デプロイ作業は非常に簡単です。Tomcatインストールフォルダの「webapps」フォルダに作成したwarファイル(ToDoManager.war)をコピーするだけです。
このときDerbyと接続するので、RadRailsを起動しておいてください。RadRailsを起動すると、Derbyが起動します。
■Ruby on Rails 2.0の新機能「Cookie Session Store」
ここでTomcatを起動します。Tomcatが起動したらすぐに動作を確認したいところですが、このままではアプリケーションは動作しません(Warbler 0.9.5の場合、※注2)。WarblerのベースになっているGoldspikeがRuby on Rails 2.0の新機能である「Cookie Session Store(Cookieを使うセッション管理)」に対応していないためです。
回避するためには、web.xmlを編集する必要があります。Tomcatのインストールフォルダにある「【プロジェクト名】/WEB-INF/web.xml」に以下の行を追加します。
<context-param> |
毎回warファイルを展開した後に上記コードの追加を行うのが手間な場合は、Warblerでwarファイルを作成するときに静的なweb.xmlを渡すことが可能です。「【プロジェクトルート】/config」フォルダに上記コードを追加したweb.xmlを置いておくことで、次回からwarファイルを作成したときに自動的に含めます。
※注2:2008年7月現在の最新版であるWarbler 0.9.9では、WarblerのベースがGoldspikeからJRuby Rackに変更されているため、すでに対応済みです。ただし、RadRailsに同梱されるJRuby 1.1 RC2では動作が不安定なので、注意してください
■Tomcat on Railsの動作確認
web.xmlを編集したら、Tomcatを再起動します。Tomcatが起動したのを確認したら、【プロジェクト名】/【アプリケーション名】のURLにアクセスします(例、http://localhost:8080/ToDoManager/todos)。すると、Tomcat上でToDo管理アプリケーションが動作していることを確認できます。
![]() |
| 図4 Tomcatで動作確認(画像をクリックすると、拡大します) |
実業務でも使われ始めたJRuby on Railsに期待
本稿では、前編・後編と2回にわたってJRuby on Railsを紹介しましたが、いかがでしたか?
JRuby on Railsのメリットに注目して紹介してきましたが、まだまだ商用レベルでの実績は少なく、安定性に欠ける部分もあるかもしれません。しかし、RubyやJRubyで開発実績のある伊藤忠テクノソリューションズと帳票ベンダのウイングアーク テクノロジーズが、2008年7月14日からエンタープライズ市場を対象にJRubyを利用した帳票ソリューションの共同展開を開始するという発表もありました(参考)。JRuby on RailsはこれからもRubyとJavaのイイとこ取りをしながら発展をしていくことでしょう。
RadRailsを使えば、手軽にJRuby on Railsを試すことができますので、皆さんもJRubyでRailsに乗ってみませんか?
■ @IT関連記事
| この記事は、プログラミングに誇りを感じるヒトのための技術情報フォーラム「Coding Edge」との連動企画です。このフォーラムには、Rubyの情報が多数掲載されます |
| JRuby on RailsやJava EE開発に便利なNetBeans Eclipse対抗馬の本命!? NetBeansとは?(後編) NetBeansはDB連携やWebアプリケーション、いま注目のJRuby on Railsの開発も簡単で、便利な機能がてんこ盛り 「Java
Solution」フォーラム 2008/3/17 |
||
| (Java+Derby)* Ruby on Rails プログラミング 小山博史のJavaを楽しむ(4) 世の中には、JavaなまりのRubyである「JRuby」という言語がある。しかも、それがRailsで使えるとなると……。試してみない手はないだろう 「Java
Solution」フォーラム 2007/2/7 |
| Ruby On Railsのチームに学ぶ仕事術 安藤幸央のランダウン(30) 素早い開発を提供するRuby On Rails。その開発チームも、優れたツールの活用でRuby On Railsのスピーディーな開発を実現している 「Java Solution」フォーラム 2006/3/25 |
| WebプログラマはRailsに乗るべきか? 安藤幸央のランダウン(29) 日本で産まれたスクリプト言語Ruby。そのWebフレームワークとして海外から登場したRuby on Railsは驚異的なRADを提供するという 「Java
Solution」フォーラム 2006/2/11 |
||
| スクリプト言語をサポートするEclipseプラグイン CoolなEclipseプラグイン(10) EclipseはJava以外の言語もサポートする。今回はPerl、Ruby、Pythonなどのスクリプト言語をサポートするプラグインを紹介する 「Java
Solution」フォーラム 2006/2/25 |
||
JavaエンジニアのためのRuby入門何だか盛り上がっているRuby。「でも触ったことないし」とためらうJavaエンジニアの皆さん! この2つ、実はよく似ているのです第1回 Javaエンジニアにこそ、Rubyの良さが分かる 第2回 JavaとRubyの共通点と相違点 第3回 Strutsの知識を基に、Ruby on Railsを学ぶ方法 |
||
| プロフィール |
佐藤 聖規(さとう まさのり) 某大手SIerに勤務し、ソフトウェア開発の抜本的生産性向上のためEclipseを中心とした開発環境の整備に日夜いそしんでいる。その傍ら、アーキテクトやトラブルシューターとしてプロジェクト支援も行っている。 |
| |
1-2 |
| INDEX 【特集】実用レベルに達したJRubyを体感してみよう(後編) 「Java屋がTomcatでRuby on Railsを試すには?」 |
||
| Page1 | ||
| JRuby on Railsの“真骨頂”とは? Ruby on RailsをJavaサーバで動かす4つのメリット TomcatでJRuby on Railsを動かす準備 コラム 「JRuby on Railsの環境を一括構築! 便利なJRubyStackとは?」 |
||
| Page2 | ||
| Warblerでwarのパッケージ化をしよう ついに発進! Tomcat on Rails 実業務でも使われ始めたJRuby on Railsに期待 |
||
実用レベルに達したJRubyを体感してみよう バックナンバー 連載インデックスへ»
- 第1回 Aptana RadRailsで始めるJRuby on Rails超入門
- 最終回 Java屋がTomcatでRuby on Railsを試すには?
| Java Solution全記事一覧 |
TechTargetジャパン
- 並列分散処理の常識をHadoopファミリから学ぶ (2012/2/8)
並列分散処理の課題やHadoopの長所/短所、そして短所を補うHadoop関連プロジェクトの構成や概要などを簡単に紹介 - WebLogicサーバ最新版「12c」の気になる4つの特徴 (2012/1/31)
久々にメジャーアップグレードしたJavaアプリケーションサーバについて、製品担当者に軽量インストーラなどの特徴を聞いた - GitHubをもっとソーシャルに使いこなすための7つ道具 (2012/1/23)
ソースコードホスティングのGitHub周辺で便利な新サービスが続々登場しているので、まとめて紹介しよう。特に連動クラウド「fluxflex」が注目だ - 新キャラ登場!スクラムやるならRedmineとALMinium (2011/12/26)
「黒板を“かんばん”にしてたら先生に怒られた(T_T)」「管理はPC内でやればいいのよ」「承知しました」
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


某大手SIerに勤務し、ソフトウェア開発の抜本的生産性向上のためEclipseを中心とした開発環境の整備に日夜いそしんでいる。