J'ai eu du mal à obtenir jRuby sur Rails 3 déployé sur Tomcat 6. Je l'ai eu à travailler exactement une fois.jRuby et des problèmes avec Warbler, RVM et Tomcat
Je modifié mon database.yaml et Gemfile pour vérifier JRuby, quelque chose comme ceci:
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
Certains paramètres d'environnement:
$ 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]
Quand je lance jruby -S bundle install
tout se passe bien.
C'est quand j'essaye de faire quelque chose comme rake db:migrate
, jruby -S rake db:migrate
ou warble
que j'obtiens 50 AVERTISSEMENTS DE DÉPRÉCIATION et un eventuel stackoverflow.
J'ai résolu ce problème en supprimant le plugin fauvette, il n'a pas aimé la ligne Warbler::Task.new
Ensuite, je courais warble config
pour me donner un fichier config/warbler.rb. Ensuite, warble
pour créer mon fichier .war. Jusqu'ici tout va bien.
Maintenant, je déplace le fichier .war vers mes webapps Tomcat. Tout fonctionne bien sauf erreur:
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'
J'ai résolu ce problème une fois et une seule fois en allant dans mon webapps/myapp/WEB-INF et en cours d'exécution jruby -S bundle install
Il ne fonctionne plus et je ne sais pas que se passe-t-il.
Mais j'ai aussi dû enlever mon fichier warble.rb pour une raison quelconque. – Dex