Pregunta

Esencialmente, lo único que puedo implementar en mi máquina de implementación es un archivo JAR. No puedo instalar JRuby, ni puedo instalar Glassfish o Tomcat.

¿Es posible empaquetar una aplicación Rails (incluyendo Rails, vendored, por supuesto) en un archivo JAR para que yo pueda hacer

c:\my_server> java rails_app.jar

y ¿ha ejecutado WEBRick o Mongrel dentro de la JVM?

¿Fue útil?

Solución

Recomiendo que revises Jetty. El proceso para Embedded Jetty es sorprendentemente fácil, y debería ser posible dárselo sus servlets de su archivo jar actual. Sin embargo, no he usado Ruby / Rails, así que no estoy seguro de si hay alguna complicación allí.

¿Normalmente es posible incrustar todas sus plantillas / modelos de rieles en un frasco dentro de un archivo de guerra para su implementación en Tomcat? Si es así, entonces deberías poder incrustar Jetty para extraerlo de tu único frasco también.

Otros consejos

Hace un año escribí un artículo sobre cómo incrustar las fuentes de ruby ??con jruby y todo lo que quieras en un archivo jar, y luego ejecutarlo con "java -jar myapp.jar".

Supongo que necesitará algo de trabajo para arrancar los rieles, pero no debería ser demasiado difícil. Y con la documentación complementaria de jruby en su wiki, supongo que puedes ejecutar un asunto de embarcadero + guerra con bastante facilidad con esta técnica.

El artículo está aquí: http://blog.kesor.net/2007/08 / 14 / jruby-in-a-jar /

Puede estar un poco anticuado, pero Nick Sieger, uno de los contribuyentes de JRuby escribió sobre la curruca hace un tiempo.

Warbler se trata de empaquetar una aplicación Rails en un archivo .war. Ahora no soy un gran tipo Java, por lo que no estoy seguro de dónde proviene su restricción .jar. los archivos war son similares a los tarros, pero son para sitios web completos o algo así.

En el peor de los casos, estoy bastante seguro de que el JRuby wiki tiene algo sobre el estado de empaquetar aplicaciones Rails para ejecutarse en arquitecturas Java. Les conviene tener información sobre eso.

No creo que puedas ejecutar Mongrel dentro de la JVM. Intentar ejecutar un servidor web de cualquier tipo sin Tomcat o Jetty es probablemente mucho más problema de lo que vale. jsight < La respuesta de / a> parece útil para ese problema. Si puede llegar tan lejos, aquí hay una página en el sitio de JRuby sobre cómo ejecutar JRuby on Rails en Tomcat .

puede intentar hacer esta pregunta en la lista de correo / foro de JRuby ( http://xircles.codehaus.org/lists/user@jruby.codehaus.org ).

Otro lugar en el que alguien hubiera hecho lo mismo es la lista de correo de glassfish

Sin embargo, otra cosa que quizás desee hacer es agrupar el contenedor servlet embebido winstone Y jruby AND rieles y usar jarjar para crear un gran frasco. Es posible que pueda compilar un archivo de compilación de hormigas para compilar un tarro GRANDE que también incluya su aplicación de rieles. Un proyecto que utilizó este enfoque es hudson ( https://hudson.dev.java.net/ ): puede obtener información sobre cómo hacerlo.

BR,
~ A

Acabo de encontrar este blog hoy, y tengo la intención de probarlo, si alguien más me lo ha hecho saber

http://matthewkwilliams.com /index.php/2010/03/02/rails-jruby-in-a-jar/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top