Перезагрузите изменения JSF с помощью JRebel

Хотя JRebel может перезагружать изменения класса Java в моем проекте, он не может перезагружать изменения JSF. Когда я изменяю файл JSF, я не вижу никаких журналов и т. д. Вот мой rebel.xml:

<classpath>
    <dir name="${projectDir}/classes">
    </dir>
</classpath>

<web>
    <link target="/WEB-INF">
        <dir name="${projectDir}/war/conf">
        </dir>
    </link>
</web>

Все файлы JSF находятся в папке ${projectDir}/war/. Я использую JBoss и IntelliJ IDEA. В проекте Ant создает файл ear и развертывает его в JBoss.

Как я могу использовать JRebel для перезагрузки файлов JSF? Должен ли веб-тег в rebel.xml указывать на файлы JSF или скомпилированный XHTML?


person mokarakaya    schedule 07.05.2015    source источник


Ответы (1)


У меня была аналогичная проблема, и для меня это был параметр javax.faces.FACELETS_REFRESH_PERIOD, который нужно установить в 0. Параметр задается в web.xml.

<context-param>
    <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
    <param-value>0</param-value>
</context-param>

Здесь есть хорошая запись в блоге с описанием различных доступных параметров конфигурации:

Время в секундах, в течение которого фаслеты должны проверяться на наличие изменений с момента последнего запроса. Когда запрашивается страница, с каким интервалом в секундах компилятор должен проверять наличие изменений. Если вы не хотите, чтобы компилятор проверял наличие изменений после компиляции страницы, используйте значение -1. Установка низкого периода обновления помогает во время разработки иметь возможность редактировать страницы в работающем приложении.

Короче говоря, установка значения 0 во время разработки должна обеспечить немедленную перезагрузку файлов.

person Magnilex    schedule 07.05.2015
comment
Лучше установить PROJECT_STAGE на разработку во время разработки. Это также устанавливает обновление на 0, и тогда появляется много другой интересной информации, когда вы делаете ошибки. - person Kukeltje; 07.05.2015
comment
@Kukeltje Достаточно справедливо. Разве вы не должны добавить это как свой собственный ответ? - person Magnilex; 07.05.2015
comment
Нет, давай, добавь это в свой ответ - person Kukeltje; 07.05.2015
comment
Я применил конфигурацию здесь; stackoverflow.com/questions/7512414 / Но у меня все та же проблема. Спасибо за предложение. - person mokarakaya; 08.05.2015