我一直在jRuby上部署Tomcat 6上的Rails 3,這讓我很困難。jRuby和Warbler,RVM和Tomcat的問題
我修改database.yaml和Gemfile中檢查JRuby的,這樣的事情:
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退步警告和最終的stackoverflow。
我通過刪除鶯插件解決了這個問題,它並沒有像線Warbler::Task.new
接下來,我跑了warble config
給我一個配置/ warbler.rb文件。最後,warble
創建我的.war文件。到現在爲止還挺好。
現在我將.war文件移動到我的Tomcat webapps。一切工作正常,除了一個錯誤:
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
它不再起作用一次且僅一次解決了這個問題,我不知道到底是怎麼回事。
消除:git指令解決了問題。但我也需要刪除我的warble.rb文件出於某種原因。 – Dex 2010-10-12 08:37:37