Горячее развертывание на JBoss - как мне заставить JBoss "увидеть" изменения? - PullRequest
52 голосов
/ 09 июня 2009

Я занимаюсь разработкой приложения Java EE, которое я развертываю снова и снова на локальной установке JBoss во время разработки. Я хочу ускорить сборку путем оперативного развертывания моего приложения прямо в [JBOSS] / server / default / deploy / myApp

Кажется, что это работает - но также, кажется, есть некоторая произвольная задержка между жестким развертыванием и тем, когда JBoss начинает использовать новые классы. Я не очень знаком с JBoss, но я предполагаю, что он кэширует классы, и именно это вызывает проблему.

Правильно ли я, и если да, то как сделать, чтобы JBoss очищал кеш?

Ответы [ 16 ]

0 голосов
/ 09 февраля 2017

Я использую JBoss AS 7.1.1. Финал . Добавление следующего фрагмента кода в мой web.xml помогло мне изменить файлы jsp на лету:

<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>development</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
</servlet>

Надеюсь, это поможет. !!

0 голосов
/ 21 января 2017

Запустите сервер в режиме отладки, и он будет отслеживать изменения внутри методов. Другие изменения Будет предложено перезапустить модуль.

0 голосов
/ 06 сентября 2016

Решение для Netbeans 8.02 и 8.1 IDE и JBOSS EAP 6.4:

  1. На вкладке «Службы» NetBeans добавьте сервер JBOSS на узел «Серверы».
  2. Если вы используете MAVEN, netbeans компилирует файлы и maven копирует файлы в каталог ./target. Вам необходимо создать символическую ссылку из. \ Target в JBOSS_HOME \ standalone \ deployments. Под окнами пример команды будет

    cd %JBOSS_HOME%\standalone\deployments mklink /d MyWebApplication.war %PROJECTS_HOME%\MyWebApplication\target\MyWebApplication-1.0.0

    Приведенное выше создает символьную ссылку от %JBOSS_HOME%\standalone\deployments\MyWebApplication.war до \target\MyWebApplication-1.0.0, в которую maven передает все файлы после компиляции или после изменения jsp, html или любых других файлов.

  3. Последнее, что нужно сделать - это создать файл CentralManagement.war.dodeploy в% JBOSS_HOME% \ standalone \ deployments. Этот файл скажет JBOSS развернуть «файл» войны как веб-приложение

0 голосов
/ 19 августа 2016

Я разрабатывал проект с Eclipse и Wildfly, и разорванный EAR-файл становился все больше из-за развертывания всех сторонних библиотек, которые мне были нужны в приложении. Я указывал на развертывание в своем хранилище Maven, которое, я думаю, каждый раз переписывало банки. Поэтому повторное развертывание приложения, когда я менял код Java на сервисном уровне, превращалось в кошмар.

Затем, обратившись к агенту Hotswap, это очень помогло, поскольку он увидел изменения в коде EJB без повторного развертывания приложения.

Однако я недавно обновился до Wildfly 10, Java 8 и JBoss Developer Studio 10, и во время этого процесса я нашел время, чтобы переместить все свои сторонние банки приложений, например В интерфейсы Wildfly добавлены основные лица, и я удалил репозиторий Maven из конфигурации развертывания. Теперь повторное развертывание всего приложения, которое является довольно большим, через Eclipse, занимает всего несколько секунд, и это намного быстрее, чем раньше. Я даже не чувствую необходимости устанавливать Hotswap и не хочу сейчас рисковать.

Так что, если вы строите в Eclipse с Wildfly, держите приложение подальше от сторонних библиотек, использующих модули Wildfly, и вам будет намного лучше.

0 голосов
/ 11 января 2014

На самом деле моя проблема заключалась в том, что утилита командной строки mvn по какой-то причине не видела изменений. Я включил автоматическое развертывание в сканере развертывания, и все равно разницы не было. ОДНАКО ... Я вертелся со средой Eclipse, и потому что я добавил сервер JBoss для его окна Серверы, я обнаружил, что у меня есть возможность "добавлять или удалять ..." модули в моей рабочей области. Когда проект добавлялся каждый раз, когда я вносил изменения в код, сканер развертывания обнаруживал изменение кода, и JBoss проходил цикл обновления кода !!! Работает как шарм.

Вот шаги, необходимые для настройки;

Сначала, если вы еще этого не сделали, добавьте свой сервер JBoss в Eclipse, используя File-> New-> Other-> Server, затем перейдите к предложению добавить сервер JBoss AS 7. Обязательно найдите каталог, который вы используете.

После добавления посмотрите внизу Eclipse на вкладку «Серверы». Вы должны увидеть свой сервер JBoss. Выделите его и найдите «Добавить или удалить ...». Оттуда вы должны увидеть свой проект.

После добавления внесите небольшие изменения в код и посмотрите, как JBoss отправляется в горячие города для вас.

0 голосов
/ 11 августа 2011

Используйте скрипт Ant и сделайте цель развернутой.

Цель развертывания должна:

  1. Стоп JBoss
  2. Скопируйте ear или war в каталог развертывания
  3. Start JBoss

==> Нет кэширования + также нет проблем с памятью после последующих развертываний во время тестирования.

...