varios ejecutar desde crear consola compilar archivos java ruby-on-rails ruby jruby

java - ejecutar - crear jar



¿Es posible compilar una aplicación Rails en un archivo Java VM JAR? (6)

Hace un año, escribí un artículo sobre cómo insertar sus fuentes de ruby ​​con jruby y todo lo demás que desea en un archivo jar, y luego ejecutarlo con "java -jar myapp.jar".

Necesitaré algo de trabajo para hacer que arranque, supongo, pero no debería ser demasiado difícil. Y con la documentación gratuita de jruby en su wiki, supongo que se puede ejecutar una tarea 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/

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 de Rails (incluyendo Rails, vendored, por supuesto) en un archivo JAR de modo que pueda hacer

c:/my_server> java rails_app.jar

y ejecutar WEBRick o Mongrel dentro de la JVM?


Es posible que desee intentar hacer esta pregunta en la lista de correo / foro JRuby ( http://xircles.codehaus.org/lists/[email protected] ).

Otro lugar donde alguien habría hecho lo mismo es la lista de correo de glassfish

Otra cosa que quizás desee hacer es agrupar el contenedor servlet embebible winstone Y jruby AND y usar jarjar para crear un gran contenedor. Es posible que pueda compilar un archivo de compilación ant para construir un jar tan 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


Te recomendaría que compruebes Jetty. El proceso para Embedding Jetty es sorprendentemente fácil, y debería ser posible darle sus servlets desde su archivo jar actual. No he usado Ruby / Rails, así que no estoy seguro de si hay alguna complicación allí.

¿Normalmente es posible insertar todas sus plantillas / modelos de rieles en un contenedor dentro de un archivo war para su implementación en Tomcat? Si es así, entonces deberías poder incrustar Jetty para extraerlo de tu jar individual.



Puede ser un poco anticuado, pero Nick Sieger, uno de los colaboradores de JRuby escribió sobre warbler hace un tiempo.

Warbler se trata de empacar una aplicación de Rails en un archivo .war. Ahora no soy un gran chico de Java, así que no estoy seguro de dónde viene tu restricción .jar. Los archivos war son similares a los jar pero son para sitios web completos o algo así.

En el peor de los casos, estoy bastante seguro de que la wiki de JRuby tiene algo sobre el estado del empaquetado de las aplicaciones de Rails para ejecutarse en arquitecturas Java. Lo mejor para ellos es 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 probablemente sea más problemático de lo que vale. La respuesta de jsight 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 .