Чтобы исправить эту проблему, я начал запускать приложение из InteliJ . без необходимости добавлять.
spring.devtools.restart.additional-paths=../submodule_6,../submodule_7
IntelliJ и spring-boot, похоже, работают вместе очень хорошо. Причина, по которой это не работала для меня, в первую очередь заключалась в том, что я сначала работал из командной строки.
Разница между командной строкой и IDE
Поэтому Spring-boot-devtools использует два загрузчика классов для загрузки приложения. Банки будут загружены из них в «Base» загрузчиком классов, ваше приложение будет загружено в «рестарта загрузчик классов». Этот последний загрузчик классов перезагружается каждый раз, когда происходит изменение пути к классам.
Всякий раз, когда подменю subodule_5 из командной строки, он будет строить subodule_6 и submodule_7 и добавлять банки в сборку subodule_5. Всякий раз, когда изменения производятся в subodule_6 и subodule_7, Spring-Boot даже не замечает, так как он только наблюдает за subodule_5 и имеет банки, в которых он нуждается. Даже если вы специально скажете, чтобы он также наблюдал за этими подмодулями, он все равно не восстановит их, он просто будет продолжать использовать банки, которые он уже загрузил в «базовый загрузчик классов» (это мое предположение, я не 100 % того, как он работает).
Всякий раз, когда выполняется подмодуль_5 из IDE, он не будет создавать банку подмодуля_6 и подмодуля_7. Он просто будет использовать их classpath. Это делает так, чтобы изменения в пути к классу объектов вашего объекта (все подмодули) запускали автоматический перезапуск и изменения были применены.
EXTRA
Всякий раз, когда работа с IDE изменяется на такие ресурсы, как html-файлы, css-файлы, xml-файлы. , , не запускает перезапуск, так как это не изменение в пути к классам. Но изменения все равно будут видны.