私は、Rails 3 上の jRuby を Tomcat 6 にデプロイするのに苦労してきました。
次のように、jRuby をチェックするように database.yaml と Gemfile を変更しました。
if defined?(JRUBY_VERSION)
gem 'jdbc-mysql'
#gem 'jdbc-sqlite3'
gem 'activerecord-jdbc-adapter'
gem 'activerecord-jdbcmysql-adapter'
#gem 'activerecord-jdbcsqlite3-adapter'
gem 'jruby-openssl'
gem 'jruby-rack'
gem 'warbler'
else
gem 'mysql'
gem "mongrel"
gem 'ruby-debug'
end
いくつかの環境設定:
$ rvm -v
rvm 1.0.14
$ jruby -v
jruby 1.5.3 (ruby 1.8.7 patchlevel 249) (2010-09-28 7ca06d7) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_20) [x86_64-java]
私が実行すると、jruby -S bundle install
すべてがスムーズに進みます。
のようなことをしようとしたときrake db:migrate
、jruby -S rake db:migrate
またはwarble
50 の DEPRECATION WARNING と最終的なスタックオーバーフローが発生したときです。
ウグイスプラグインを削除することでこの問題を解決しましたが、その行が気に入らなかったWarbler::Task.new
次に、実行warble config
して config/warbler.rb ファイルを取得しました。
最後にwarble
、.war ファイルを作成します。ここまでは順調ですね。
次に、.war ファイルを Tomcat Web アプリケーションに移動します。エラーを除いて、すべて正常に動作します。
Oct 10, 2010 1:34:46 AM org.apache.catalina.core.ApplicationContext log
SEVERE: Application Error
org.jruby.rack.RackInitializationException:
http://github.com/plataformatec/devise.git (at master) is not checked out.
Please run 'bundle install'
webapps/myapp/WEB-INF に入って実行することで、この問題を一度だけ解決しましたjruby -S bundle install
機能しなくなり、何が起こっているのかわかりません。