веб-ссылка jrebel не работает

Я использую jrebel со встроенным причалом в проекте scala, но он работает не очень хорошо.

Во-первых, я добавил исходный каталог и каталог веб-ресурсов в Rebel.xml, затем запустил причал, отредактировал файл scala и скомпилировал, jrebel обнаружил классы и работал отлично.

Однако, когда я редактировал веб-файлы, такие как html, css и js, это не сработало. Соответствующих изменений в целевом каталоге не обнаружено.

Так кто-нибудь знает причину? Вот содержимое моего мятежника.xml:

<?xml version='1.0' encoding='UTF-8'?>
<application xsi:schemaLocation="http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd" xmlns="http://www.zeroturnaround.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <classpath>
        <dir name="F:\test\target\scala-2.11\classes"/>
    </classpath>
    <web>
        <link target="/">
            <dir name="F:\test\src\main\webapp"/>
        </link>
    </web>
</application>

person stevobm    schedule 18.04.2017    source источник


Ответы (1)


JRebel не изменяет существующие файлы статических веб-ресурсов в развернутом архиве или в целевом каталоге сборки.

Элемент <web> в конфигурации rebel.xml в основном сообщает JRebel, откуда следует получать файлы статических ресурсов.

Например, в вашем случае, если вы сделаете HTTP-запрос к /css/mystyles.css, JRebel сначала попытается найти этот ресурс из F:\test\src\main\webapp\css\mystyles.css в соответствии с предоставленным вами rebel.xml. Если он не может найти этот ресурс оттуда, он возвращается к исходному развернутому ресурсу.

person Tiit    schedule 18.04.2017
comment
Вы имеете в виду, что jrebel не будет отслеживать файлы веб-ресурсов, которые я изменяю в src, даже если я устанавливаю веб-ссылку? Но он напечатал каталог «F:\test\src\main\webapp» и будет отслеживать изменения при запуске, так что это значит? Это меня сильно расстроило. - person stevobm; 18.04.2017
comment
Вместо этого JRebel должен подобрать измененный ресурс в /src/main/webapp. Вам может потребоваться дополнительная настройка, если путь контекста сервлета не совпадает с фактической структурой каталогов в вашем каталоге src/main/webapp. Например, если вы запрашиваете ресурс, отправляя HTTP-запрос к /foo/bar/html/index.html, а фактический ресурс в вашем проекте находится в F:\test\src\main\webapp\html\index.html, вам нужно изменить элемент <web> на элемент <link> следующим образом: <link target="/foo/bar"> <dir name="F:\test\src\main\webapp"/> </link> - person Tiit; 18.04.2017
comment
Если вам потребуется дополнительная помощь в настройке этого для вашей среды, воспроизведите проблему и отправьте описание и файл jrebel.log в службу поддержки по адресу [email protected]. - person Tiit; 18.04.2017