2012-04-29 2 views
6

Интересно, есть ли инструмент, который создает демонстрационную версию моих проектов grails. То, что я могу распространять на компакт-диске или USB-накопителе, который будет работать в любой среде.Создать автономное приложение с grails

Нечто,

  • поставляется с одним скриптом для запуска приложения
  • производит поиск порта сервера бесплатно на системе (сообщение об ошибке, если 8080 не уже используется)
  • начинает причал сервер
  • запускает стандартный браузер с моим приложением

кто-нибудь знает такого инструмента?

+0

Вы предполагаете, что у вас есть необходимая JVM на целевой машине уже, или вы ищете истинное автономное серверное приложение? – cdeszaq

+0

истинное автономное приложение было бы здорово, но я предполагаю, что JVM уже доступен. – rdmueller

ответ

15

Отъезд standalone plugin Это значительно упрощает распространение демо-версии вашего приложения Grails.

«The Standalone плагин строит работоспособный файл JAR с вложенной войной построен из приложения и встроенного Tomcat 7 экземпляр. Это позволяет создать единый архив, который может быть работать на любой компьютер с Java 5 или выше, запустив java -jar standalone.jar. Это может быть , удобный для демонстрации или даже очень легкий монтаж с низким трафиком приложений Grails. "

Полные документы для автономного плагина являются here

Чтобы подготовить файл банку ...

grails -Dgrails.env=demo build-standalone our_cool_demo.jar 

Чтобы запустить приложение Grails (порт задается в качестве параметра) ...

java -jar /path/to/jar_name.jar cool_demo localhost 9000


Обновления:

Есть на самом деле 2 Grails автономных модулей:

  1. 'standalone' плагина, описанных выше, в основе которого лежит Tomcat7
  2. 'jetty-standalone' плагин, который основан на Jetty и работает аналогичным образом

Есть также некоторые варианты, основанные на Хадсон и проекта Winstone но не плагин Grails. Вот некоторые ссылки с дополнительной информацией: Build executable war using grails, maven and jetty, Executable WARs with Jetty и Winstone

+0

звучит отлично, но не работает для меня ... должен расследуйте еще ... – rdmueller

+1

есть еще один автономный плагин, основанный на причале, который может работать. Дополнительную информацию см. В обновленном ответе. – Chris

+0

плагин для приставок тоже не работает :-( – rdmueller

2

Лучшая вещь, которая приходит на ум, - это использовать дистрибутив Linux на USB-накопителе с установленными граалями. Вы можете экспортировать приложение в качестве файла WAR, а затем создать скрипт, содержащий grails prod run-war для выполнения при загрузке. Наконец, вы можете открыть firefox с помощью firefox localhost:port#/AppName

Единственный недостаток этой опции - вам нужно загрузиться с палки, и это создаст немного времени задержки. Тем не менее, преимущества в том, что вам нужно только беспокоиться о поддержке одной ОС, не сканировать порт при запуске и простоте.

+0

Hm. Может быть, linux в комплекте с vmware плеером ... Но это значит, что iz будет слишком большим для компакт-диска ... – rdmueller

+1

@ Ralf - Но он может поместиться на DVD – cdeszaq

1

Ответ, предложенный Крис не работает для моего, но он дал мне хорошую отправную точку: кажется, что это не так уж сложно создать такое автономное приложение:

  • причала является хорошей отправной точкой: просто оставьте файлы причал на флешке и развернуть Grails приложения, понижая файл .war в каталоге WebApps из причала
  • создать небольшой строчный скрипт, который ищет два (!) свободных порта. Вы будете нуждаться в секунду, чтобы остановить сервер снова
  • Отлич- скрипт можно запускать и останавливать сервер
  • компилировать скрипт для того, чтобы избежать необходимости установки заводной на целевой машине

это все. Думаю, я напишу более подробную информацию, когда найду еще немного времени ...

Смежные вопросы