NetBeans 6.0BetaのRuby Pack
6.0M10に比べてかなり改善されたようです。ドキュメントも増えました。http://www.netbeans.org/kb/trails/ruby.htmlにわかりやすくまとめられています。
6.0Betaから、Goldspike(元Rails-Integration)というJava Web Archiveを作るプラグインがついてきています。Railsのプロジェクトを作るときに"Add rake target to support app server deployment (.war)"にチェックするとrake task一覧にwarが追加されます。クリックするだけで、プロジェクトのディレクトリにプロジェクト名.warというファイルが作られます。(この例の場合、/home/yoko/6.0BetaNetBeansProjects/test/test.war)
このメニューで何が作られるのかはhttp://www.headius.com/jrubywiki/index.php/Rails_Integrationに詳細な説明がありますが、
- war -> shared -> create : JRubyやRailsの環境を含まないアプリケーションのみのWAR。GlassFishやTomcatのようなサーバがJRuby on Railsの環境を持っている場合に選ぶ。
- war -> standalone -> create : JRubyやRailsの環境を含むアプリケーションのWAR。
- war -> stansalone -> run : Jettyを使ってWebアプリケーションを動かす。
のような違いがあります。試しに、standaloneのWARを作ってTomcatとGlassFishで動かしてみました。動かしたのはFour Days on RailsのDay1にあったCategory登録と一覧表示のアプリケーションです。通常のRailsアプリケーションと違うところは次の2点です。
- Railsプロジェクトを作るときに、"Access database using JDBC"と"Add rake target..."の両方にチェックします。TomcatやGlassFishで動かすときにはJDBC経由でデータベースに接続するので。
- database.ymlのproductionのところにJDBCでの接続を設定します。
production: adapter: jdbc driver: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/todos?characterEncoding=utf8 username: foo password: bar
GlassFishの場合、glassfish-v2-b58g/domains/domain1/autodeployにWARファイルをコピーし、glassfish-v2-b58g/libにJDBCドライバのアーカイブをコピーします。Tomcatの場合、apache-tomcat-6.0.14/webappsにWARファイルをコピーして、apache-tomcat-6.0.14/libにJDBCドライバのアーカイブをコピーします。
サーバを起動してhttp://localhost:8080/ToDo/categoryをリクエストして、いくつかcategoryを追加したのがこちらです。
WARファイルを作るところまでは簡単になりました。ただ、デバッガはまだJRubyでは動きません。MLへの投稿を見るとJRuby版Fast Debuggerを作っているところらしいので、正式版なら動くようになるのかも、です。