Можно ли скомпилировать приложение Rails в файл Java VM JAR?

По сути, единственное, что я могу развернуть на своей машине развертывания, - это файл JAR. Я не могу установить JRuby, а также не могу установить Glassfish или Tomcat.

Можно ли упаковать приложение Rails (включая Rails, конечно, поставляемое производителем) в файл JAR, чтобы я мог

c:\my_server> java rails_app.jar

и запускает ли он WEBRick или Mongrel в JVM?

Насколько я могу судить, для этого вам понадобится JRuby ... но вы, вероятно, можете просто включить JRuby jar (не устанавливать его).

Mike Stone 24.09.2008 22:53

У вас когда-нибудь это работало? Я собираюсь начать это, но если кто-то еще догадается ...

Don Werve 01.08.2009 01:17

Нет - сдался и выбрал совершенно не Ruby решение.

James A. Rosen 03.08.2009 16:12
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
12
3
2 744
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

Я бы порекомендовал вам оформить заказ на 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 оставляет банки нетронутыми.

Evgeny 25.09.2008 01:12

Это может быть немного устаревшим, но Ник Зигер, один из авторов JRuby писал о камышевке некоторое время назад.

Певчая птица - это упаковка приложения Rails в файл .war. Я не большой любитель Java, поэтому я не уверен, откуда взялось ваше ограничение .jar. war-файлы похожи на jar-файлы, но предназначены для целых веб-сайтов или чего-то в этом роде.

В худшем случае, я почти уверен, что в JRuby вики есть что-то о состоянии упаковки приложений Rails для запуска на архитектурах Java. В их интересах иметь информацию об этом.

Я только что наткнулся на этот блог сегодня, и я намерен попробовать, если кто-то еще сообщил мне

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

Другие вопросы по теме