2009-07-29 3 views
0

Я разрабатываю приложение на основе весны с facelets и Java Server Faces, которое работает на сервере приложений Jboss. В качестве платформы разработки я использую Eclipse Ganymede Platform Version: 3.4.2, которая объединяет инструменты веб-стандарта и, следовательно, предлагает поддержку для разных серверов, таких как Jboss 5.0.Как перенаправить приложение на Jboss в Eclipse?

Я развертываю свое приложение на Jboss внутри Eclipse. В первый раз он работает нормально, но когда я пытаюсь внести некоторые изменения и повторно опубликовать свое приложение, он просто не получает его, поэтому я вынужден перезапустить сервер. Это довольно раздражает, так как требуется около минуты или каждый раз, когда мне приходится перезапускать JBoss.

Итак, вопрос в том, есть ли какие-либо средства для повторного развертывания приложений на Jboss без перезагрузки?

ответ

0

Если вы управляете JBoss (start/stop) с помощью затмения, вы должны иметь возможность повторно развертывать форму затмения.

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

Что мы делаем (хотя это не всегда работает) заключается в том, что мы развертываем ухо, запускаем JBoss и отлаживаем удаленно с помощью JPDA. Когда мы вносим изменения (до тех пор, пока вы не меняете подпись метода), он hot заменяет класс тем, у кого есть изменение.

0

Если вы развертываете WAR-файл, самым простым способом является использование плагина 'servers' в eclipse. MyEclipse настроен заранее.

Здесь вы сможете выбрать свой контейнер сервлета и иметь полный контроль в затмении. Нет необходимости в каких-либо файлах ANT или необходимо покинуть среду Eclipse.

Для того, чтобы эта настройка работала, ваш проект должен быть «веб-проектом».

Как только вы настроили свой веб-проект, нажмите кнопку конфигурации в окне серверов, выберите свой веб-проект и добавьте его.

Затем нажмите кнопку запуска/отладки на экране серверов.

Единственное, что у вас есть, - это убедиться, что ваш путь к исходному классу указывает на WEB-INF/классы, а не на целевые/классы, для того чтобы горячее развертывание могло работать. Затмение плагина maven: eclipse сбрасывает это, так что будьте осторожны.

+0

Это то, что я делаю, но когда я снова запускаю приложение на Jboss, он застрял в сообщении, в котором говорится о том, как «уничтожать одиночные игры ...», и веб-приложение не работает. с другой стороны, когда я пытаюсь перераспределить, он начинает потреблять столько ресурсов, что я вынужден убить процесс jboss из bash. это безумие! – markitus82

+0

Two Things: (1) Вы пробовали использовать Tomcat, чтобы узнать, есть ли у вас аналогичная проблема? Я предполагаю, что вам не нужен контейнер EJB. (2) Вы пробовали создать совершенно новый очень простой проект, чтобы увидеть, работает ли это с tomcat/jboss? – JamesC

+0

факт использования Jboss - это требование клиента, поэтому изменений нет. В нашем предыдущем проекте мы использовали Tomcat в качестве сервера приложений, и при перераспределении приложения проблем не возникало. это странно, но вокруг нас есть 3 человека с этим проектом и испытывают ту же проблему с сервером приложений Jboss. – markitus82

1

Рассмотрите возможность использования плагина JBoss. Это значительно улучшает опыт разработки с Eclipse и JBoss. http://www.jboss.org/tools

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