schimbarea la jruby, a lua RuntimeError: Handler server (subțire) nu a fost găsit

Aplicația mea funcționează bine în MRI 1.9.2-p290 și 1.9.3-p125, dar când trec la jruby-1.7.0-preview1 primesc eroarea dezvăluită. Iată eroarea completă:

RuntimeError: Server handler (thin) not found.
  detect_rack_handler at /home/qry_dev/.rvm/gems/jruby-1.7.0.preview1/gems/sinatra-1.3.2/lib/sinatra/base.rb:1402
             run! at /home/qry_dev/.rvm/gems/jruby-1.7.0.preview1/gems/sinatra-1.3.2/lib/sinatra/base.rb:1293
           (root) at /home/qry_dev/Ruby/query_engine/query_webserver.rb:320
             load at org/jruby/RubyKernel.java:1017
           (root) at -e:1

(Am incercat deja 1.6.1, aceeasi eroare) Sinatrele și pietrele subțiri (printre altele) sunt deja instalate. De fapt, altul decât jrby în loc de mri, totul este același.

Vreo idee? Am căutat pe web și am văzut această eroare, dar este, de obicei, pentru instrumentele de la terțe părți și nimic nu pare să se aplice.

EDIT: de asemenea, a încercat să instaleze subțire (pe care niciodată nu am avut de făcut înainte) la linux în sine via

sudo apt-get install thin

dar tot obtinerea aceleiasi erori.

0
da, subțire este instalat; listă de gem subțire returnează thin (1.3.1)
adăugat autor davej, sursa
Rezultatul gem list are thin ca intrare?
adăugat autor Kashyap, sursa

1 răspunsuri

sinatra 1.3.2 (by default) checks only for mostly MRI compatible servers, see: https://github.com/sinatra/sinatra/blob/e111243e813ede1f0f4c6918d9a8cc029e776fc3/lib/sinatra/base.rb#L1514

thin, mongrel do not work on JRuby due native C code (although there's effort to make them use some "native" Java code on JRuby)

aveți două opțiuni fie să ajustați serverul setat în timp ce pe JRuby, de ex. ceva asemănător cu:

set :server, %w[trinidad webrick] if defined?(JRUBY_VERSION)

or rackup your application with the given handler rackup -s trinidad

nu uitați să instalați mai întâi gem install trinidad (în JRuby)

0
adăugat
Serverul de setare a încercat să trinidad (după instalare, desigur) a primit o mulțime de mesaje ca AVERTISMENT: Nu a reușit să scaneze [fișier: /home/jenko/Ruby/lib/extensions.jar] din ierarhia classloader și SEVERE: Nu sa reușit procesarea JAR găsită la adresa URL [jar: file: /home/jenko/Ruby/lib/jna.jar! /] pentru ServletContainerInitializers pentru contextul cu nume [/] , printre altele.
adăugat autor davej, sursa
Coincide. Vă mulțumim pentru eforturile dumneavoastră.
adăugat autor davej, sursa
Îmi pare rău că nu vă pot ajuta cu asta fără a obține mai multe detalii despre cererea dvs. - depinde de modul în care executați și JRuby. SO este cel mai potrivit pentru 1 răspuns la un moment dat, poate doriți să încercați un forum, IRC pentru a obține îndrumări pas cu pas (sau postați o întrebare separată cu detalii despre aplicația dvs.)
adăugat autor kares, sursa