【发布时间】:2010-10-10 10:59:35
【问题描述】:
我一直很难将 jRuby on Rails 3 部署到 Tomcat 6 上。我只让它工作了一次。
我修改了我的 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 条弃用警告并最终导致堆栈溢出。
我通过删除莺插件解决了这个问题,它不喜欢Warbler::Task.new这一行
接下来,我运行 warble config 给我一个 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 解决了这个问题一次且仅一次
它不再起作用,我不知道发生了什么。
【问题讨论】:
标签: jruby rvm jrubyonrails warbler