По сути, единственное, что я могу развернуть на своей машине развертывания, - это файл JAR. Я не могу установить JRuby, а также не могу установить Glassfish или Tomcat.
Можно ли упаковать приложение Rails (включая Rails, конечно, поставляемое производителем) в файл JAR, чтобы я мог
c:\my_server> java rails_app.jar
и запускает ли он WEBRick или Mongrel в JVM?
У вас когда-нибудь это работало? Я собираюсь начать это, но если кто-то еще догадается ...
Нет - сдался и выбрал совершенно не Ruby решение.




Я бы порекомендовал вам оформить заказ на Jetty. Процесс для Встраивание причала на удивление прост, и должна быть возможность передать ему ваши сервлеты из вашего текущего файла jar. Однако я не использовал Ruby / Rails, поэтому не уверен, есть ли здесь какие-либо сложности.
Можно ли обычно встроить все ваши шаблоны / модели рельсов в jar-файл внутри файла war для развертывания на Tomcat? Если это так, то у вас должна быть возможность встроить Jetty, чтобы вытащить его из своей единственной банки.
Я не думаю, что вы можете запустить Mongrel в JVM. Попытка запустить любой веб-сервер без Tomcat или Jetty, вероятно, намного сложнее, чем оно того стоит. Ответ jsight кажется полезным для этой проблемы. Если вы можете зайти так далеко, вот страница на сайте JRuby о запуске JRuby on Rails в Tomcat.
Год назад я написал статью о том, как встроить ваши источники Ruby с jruby и всем остальным, что вы хотите, в один файл jar, а затем запустить его с помощью «java -jar myapp.jar».
Думаю, потребуется некоторая работа, чтобы сделать его загрузочными рельсами, но это не должно быть слишком сложно. И с бесплатной документацией по jruby на их вики, я думаю, вы можете довольно легко запустить причал + война с этой техникой.
Статья здесь: http://blog.kesor.net/2007/08/14/jruby-in-a-jar/
вы можете попробовать задать этот вопрос в списке рассылки / форуме JRuby (http://xircles.codehaus.org/lists/[email protected]).
Еще одно место, где кто-то поступил бы так же, - это список рассылки Glassfish.
Еще одна вещь, которую вы, возможно, захотите сделать, - это связать встраиваемый контейнер сервлетов winstone И jruby И рельсы и использовать jarjar для создания одного большого jar. Возможно, вам удастся создать файл сборки ant для создания такого БОЛЬШОГО jar-файла, который также включает ваше приложение rails. Один из проектов, в котором использовался этот подход, - это Hudson (https://hudson.dev.java.net/) - вы можете получить некоторую информацию о том, как это сделать.
BR,
~ А
Я бы предложил использовать одну банку вместо jarjar, поскольку jarjar взрывает банки и застегивает классы. one-jar оставляет банки нетронутыми.
Это может быть немного устаревшим, но Ник Зигер, один из авторов JRuby писал о камышевке некоторое время назад.
Певчая птица - это упаковка приложения Rails в файл .war. Я не большой любитель Java, поэтому я не уверен, откуда взялось ваше ограничение .jar. war-файлы похожи на jar-файлы, но предназначены для целых веб-сайтов или чего-то в этом роде.
В худшем случае, я почти уверен, что в JRuby вики есть что-то о состоянии упаковки приложений Rails для запуска на архитектурах Java. В их интересах иметь информацию об этом.
Я только что наткнулся на этот блог сегодня, и я намерен попробовать, если кто-то еще сообщил мне
http://matthewkwilliams.com/index.php/2010/03/02/rails-jruby-in-a-jar/
Насколько я могу судить, для этого вам понадобится JRuby ... но вы, вероятно, можете просто включить JRuby jar (не устанавливать его).