Автономное приложение с JBoss или Tomcat - PullRequest
1 голос
/ 26 марта 2010

Алло,

У меня есть более конкретный вопрос о развертывании Java-приложения.

Я создал приложение Java, это файл WAR и может быть установлено на любом сервере приложений Java. Это работает отлично. Теперь для пользователей, у которых нет опыта работы с Java, я хочу как-то упаковать свое приложение вместе с сервером приложений и распространить его как отдельную версию.

Вопрос 1: возможно ли это? Вопрос 2: Какой сервер приложений будет лучше для этого? Вопрос 3: С чего мне начать, как это сделать?

Есть ли у вас опыт, которым вы можете поделиться со мной?

Спасибо.

Ответы [ 5 ]

3 голосов
/ 27 марта 2010

У меня есть два предложения для вас

  1. Вы можете взять кота. Поместите свою войну в папку webapps и переименуйте ее в ROOT.war. Заархивируйте папку с котом. И распространите это с инструкциями о том, как его запустить. Что действительно просто.
  2. Второй вариант - использовать причал. По сути, напишите небольшой фрагмент кода для запуска сервера Jetty, который указывает на созданную вами войну (возможно, храните в той же папке или даже в jar), а затем напишите небольшой сценарий запуска или превратите его в исполняемый файл.

Я предпочитаю первый вариант, так как он использует tomcat.

2 голосов
/ 26 марта 2010

Это зависит от вашего приложения. У вас есть EJB? Если нет, давайте перейдем к Tomcat, который легче и сделает работу. Если да, вам нужен JBoss для их правильного запуска.

Затем вы можете архивировать весь сервер с включенной Войной, и это должно работать.

2 голосов
/ 26 марта 2010

Посмотрите на контейнер сервлетов Winstone, который содержит то, что вы хотите, в качестве поддерживаемого варианта использования.

Так работает сервер непрерывной интеграции Hudson в автономном режиме.

См. https://stackoverflow.com/questions/1515654/what-is-a-lightweight-fast-java-servlet-container/1515804#1515804

1 голос
/ 27 марта 2010

Maven имеет аккуратный плагин (jetty-console-maven-plugin), который позволяет создать «исполняемую» войну (он создает один артефакт, который встраивает контейнер сервлета Jetty). Он невероятно прост в использовании, зацените.

1 голос
/ 26 марта 2010

По крайней мере, с JBoss, тривиальный способ архивирования всего сервера после развертывания приложения должен работать нормально. Поскольку JBoss включает Tomcat, я думаю, что он должен работать и с Tomcat.

Чтобы пользователям было проще запускать сервер, вы можете предоставить пользовательский runMyServer.bat (или .sh) для выполнения run.bat -c MyServer -b 127.0.0.1 (конечно, заменяя нужный IP-адрес: -).

...