Pergunta

Essencialmente, a única coisa que posso implantar a minha máquina de desenvolvimento é um arquivo JAR. Não consigo instalar o JRuby, nem posso instalar Glassfish ou Tomcat.

É possível empacotar uma aplicação Rails (incluindo Rails, vendorizadas, é claro) para um arquivo JAR de tal forma que eu posso fazer

c:\my_server> java rails_app.jar

e executá-lo WEBrick ou Mongrel dentro da JVM?

Foi útil?

Solução

eu recomendo que você check-out Jetty. O processo para Embedding Jetty é surpreendentemente fácil, e que deve ser possível para dar-lhe seus servlets de seu arquivo jar atual. Eu não usei Ruby / Rails, embora, por isso não tenho a certeza se existem complicações lá.

É normalmente possível para incorporar todos os seus trilhos templates / modelos em um dentro frasco de um arquivo de guerra para implantação no Tomcat? Se assim for, então você deve ser capaz de obter incorporado Jetty para retirá-lo de seu único frasco bem.

Outras dicas

Eu escrevi um artigo há um ano sobre como incorporar as suas fontes de rubi com JRuby e tudo mais que você quer em um arquivo jar, e depois executá-lo com "java -jar MyApp.jar".

Ele vai precisar de algum trabalho para torná-lo de inicialização trilhos Eu acho, mas não deve ser muito difícil. E com a documentação jruby cortesia na sua wiki, eu acho que você pode executar um + coisa guerra molhe com bastante facilidade com esta técnica.

O artigo está aqui: http://blog.kesor.net/2007/08 / 14 / jruby-in-a-jar /

Pode ser um pouco datada, mas Nick Sieger, um dos colaboradores do JRuby escreveu sobre toutinegra um tempo atrás.

Toutinegra é sobre embalagem de uma aplicação Rails em um arquivo .war. Agora eu não sou um cara de Java grande, então eu não tenho certeza de onde sua restrição .jar vem. arquivos de guerra são semelhantes aos frascos, mas eles são para sites inteiros ou algo assim.

Na pior das hipóteses, eu tenho certeza que a JRuby wiki tem algo sobre o estado de embalagem Rails Apps para ser executado em arquiteturas Java. É no seu melhor interesse para ter informações sobre isso.

Eu não acho que você pode executar Mongrel dentro do JVM. Tentando executar um servidor web de qualquer tipo sem Tomcat ou Jetty é provavelmente muito mais problemas do que vale a pena. jsight 's resposta parece útil para esse problema. Se você pode chegar tão longe, aqui está uma página no site do JRuby sobre a execução JRuby on Rails no Tomcat .

Você pode querer tentar fazer esta pergunta na lista de discussão / forum JRuby ( http://xircles.codehaus.org/lists/user@jruby.codehaus.org ).

Outro lugar que alguém teria feito o mesmo é a lista de discussão GlassFish

No entanto, outra coisa que você pode querer fazer é o de agregar recipiente winstone incorporável Servlet e JRuby e trilhos e uso JarJar para criar um grande jarro. Você pode ser capaz de criar um arquivo de construção Ant para construir tal frasco BIG que também inclui a sua aplicação rails. Um projeto que usou essa abordagem é hudson ( https://hudson.dev.java.net/ .) - você pode obter algumas informações sobre como proceder para fazer isso

BR,
~ A

Eu só corri em toda esta blog hoje, e tenho a intenção em dar-lhe uma tentativa, se alguém já me avise

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top