Domanda

Ho avuto un momento difficile ottenere JRuby on Rails 3 schierati su Tomcat 6. ho preso a lavorare esattamente una volta.

Ho modificato il mio database.yaml e Gemfile per verificare la presenza di JRuby, qualcosa di simile:

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

Alcune impostazioni di ambiente:

$ 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]

Quando eseguo jruby -S bundle install tutto va liscio.

E 'quando provo a fare qualcosa di simile rake db:migrate, jruby -S rake db:migrate o warble che ho 50 warning di deprecazione e un eventuale StackOverflow.

ho risolto questo problema eliminando il plugin beccafico, non ha fatto come la linea Warbler::Task.new

Dopo, mi sono imbattuto warble config di darmi un file di configurazione / warbler.rb.

E, infine, warble per creare il mio file .war. Fin qui tutto bene.

Ora spostare il file .war ai miei webapps Tomcat. Tutto funziona bene, tranne per un errore:

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'

ho risolto questo problema una volta e solo una volta entrando in miei webapps / frontend / WEB-INF e funzionante jruby -S bundle install

non funziona più e non ho idea di cosa sta succedendo.

È stato utile?

Soluzione

Credo che questo può essere chiamato un bug nella versione corrente di verdognola. Utilizzando repository Git nel vostro Gemfile non riesce quasi mai messo in scena correttamente nel file di guerra e Bundler è ancora alla ricerca di un controllato fuori repository su disco.

Una futura versione di silvia probabilmente fare qualcosa sulla falsariga di bundle --deployment quando si crea il file di guerra.

Per il momento, a lavorare in giro, si potrebbe avere al fornitore il codice di disposizione testamentaria.

Altri suggerimenti

La versione corrente di luì (1.3.6) sarà inoltre presentare questo comportamento se si crea un file di guerra con warbler war. Ho scoperto che la costruzione con il seguente comando funziona:

warbler compiled war

future versioni si spera risolvere questo in modo più completo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top