Автоматическая перезагрузка весенней загрузки остановилась после обновления с 2.1.13 до 2.2.0 - PullRequest
2 голосов
/ 04 марта 2020

Ниже приведена соответствующая часть моего POM

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.13.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

У меня установлены devtools, как вы можете видеть. Работает нормально с версией 2.1.13.RELEASE. Когда я внесу изменение в класс Java и нажму Build Project в Intellij IDEA, сервер перезапустится с новым изменением, как и ожидалось.

Но когда я обновляю версию весенней загрузки до 2.2.0.RELEASE или 2.2.5.RELEASE, автоматический перезапуск перестает работать. Когда я делаю изменения и строю проект, ничего не происходит. Я проверяю документы, согласно которым добавление зависимости devtools должно быть достаточным.

Ссылки на документы: https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/pdf/spring-boot-reference.pdf (стр. 37)

Обновление 1 : Я создал демо-приложение, чтобы каждый мог попробовать, и работает ли он на них. Вот хранилище. Попробуйте запустить его, используя mvn spring-boot:run, и во время выполнения отредактируйте BookApi.java, перестройте, и он должен запустить живой перезапуск.

Обновление 2 : Вот журналы, которые я получаю при запуске приложения: https://gist.github.com/lokeshh/d111c1429323ddf6e4a8d020526ceccb

Обновление 3 : я попробовал STS 4, чтобы проверить, связана ли проблема с моим IntelliJ или нет. И я обнаружил, что та же проблема существует в STS 4. Автоматическая перезагрузка работает для 2.1.13 при сохранении, но не для 2.2.0.

Обновление 4 : Удалил полный .m2 хранилище, все та же проблема. Вот журналы с включенной трассировкой devtools https://gist.github.com/lokeshh/d111c1429323ddf6e4a8d020526ceccb#file -output_with_trace-log

Ответы [ 3 ]

5 голосов
/ 20 апреля 2020

Ну, это сработало и для меня, как и для других людей, которые ответили за вас.

Но У меня есть решение для вас здесь. Это может случиться когда-нибудь. Выполните шаги, указанные ниже.

Поскольку вы уже добавили зависимость в pom.xml, поэтому давайте перейдем к следующему шагу.

Далее

Подтвердите настройку в intellij . ,

=> Автоматическая сборка проекта

Файл -> Настройка -> Сборка, выполнение, развертывание -> Компилятор -> check this Build project automatically

enter image description here

Затем проверьте Реестр Intellij

Нажмите SHIFT+CTRL+A (Win / * nix) или Command+SHIFT+A (Ma c), чтобы открыть всплывающее окно windows, введите registry

enter image description here

Найти и включить эту опцию compiler.automake.allow.when.app.running

enter image description here

Готово . Теперь должна быть включена автоматическая перезагрузка файлов горячей замены & stati c.

Если файлы stati c не перезагружаются, нажмите CTRL+F9 для принудительной перезагрузки.

  • / Добавить комментарий Добавлена ​​ссылка на devtools /

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using -boot-devtools-restart

3 голосов
/ 19 апреля 2020

Код работает как для 2.1.13.RELEASE , так и 2.2.0.RELEASE на моей macOS каталине с STS 4.

Примечание: с Spring Документация по spring-boot-devtools

enter image description here

Автоматический c перезапуск варьируется от IDE к IDE.

Помечены красным для Eclipse и Intellij.

Существует разница между перезагрузкой и перезапуском.

enter image description here

Происходит автоматический перезапуск.

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

enter image description here

Как решить эту проблему:

  1. Путем добавления зависимости в pom . xml для пружинного привода для очистки оперативной информации

    <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies>

Но все равно ваше приложение перезапускается.

Снимок экрана для запуска приложения с 2.1.13.RELEASE:

"abcd" в качестве базовой строки

enter image description here

Я изменил его на "ab c" :

enter image description here

Состояние перезапуска (для версии 2.1.13. ВЫПУСК):

enter image description here

Состояние перезапуска (для версии 2.2.0. РЕЛИЗ):

enter image description here

2 голосов
/ 16 апреля 2020

Для обеих версий автоматический перезапуск работает для вашего кода в моей настройке. Хотя я использую версию STS-4-4.6.0.

Но одна вещь, которую я заметил, что она давала, не смогла обновить sh предупреждение о живых данных, поэтому я добавил ниже код в pom. xml и предупреждение также было удалено

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Примечание: оно работало для меня с или без в STS, но вы все равно можете попробовать это в Intellij, возможно, это вызывает некоторые проблемы, так как LiveReloadServer является единственным фактически используется devtools для автозагрузки

Это печатается в журнале, когда liveReloadServer работает: сервер LiveReload работает на порту 35729

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...