我一直在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