Как запретить плагину Maven spring-boot копировать статические ресурсы в цель?

Недавно я обновил ОС на своем ноутбуке (Linux Mint 17.1 => 17.3), и теперь, когда я запускаю свой проект с

mvn spring-boot:run

статические ресурсы копируются в целевую папку, фактически кэшируя их. Таким образом, я должен полностью отключить сервер, чтобы увидеть изменения, внесенные в статические ресурсы, отраженные в браузере.

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

Я также не могу обновить статические ресурсы при работе в eclipse, как в обычном режиме, так и в режиме отладки.

Некоторая дополнительная информация:

Версия Java: 1.7
Версия Spring-boot: 1.3.2
Версия подключаемого модуля maven spring-boot: 1.3.2
Версия Maven: 3.3.9

Любые идеи?


person anikolis    schedule 17.02.2016    source источник
comment
Вы только что обновились до Boot 1.3? Вам следует взглянуть на новые инструменты разработки и связанные с ними изменения.   -  person chrylis -cautiouslyoptimistic-    schedule 17.02.2016


Ответы (1)


Явная установка элемента конфигурации addResources в плагине maven spring-boot, похоже, исправляет это. Объявление плагина в вашем файле pom будет выглядеть так:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <addResources>true</addResources>
    </configuration>        
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Интересно, что добавление зависимости spring-boot-devtools не исправляет это, несмотря на то, что в документации конкретно упоминается, что это будет делать то же самое, что и элемент конфигурации addResources.

person anikolis    schedule 17.02.2016
comment
Это работает при запуске в командной строке с mvn spring-boot:run, но IntelliJ не будет принимать изменения с этой опцией при использовании конфигурации Spring Boot. Выполнение Make Module перезагрузит изменения, но это не идеально. - person andyb; 12.09.2016
comment
Я использую eclipse, но я считаю, что это возможно и с IntelliJ. Вы можете создать конфигурацию запуска maven, которая использует цель spring-boot:run. Это также позволяет вам использовать инструменты отладки вашей IDE и сохранить преимущества spring-boot:run.. - person anikolis; 13.09.2016
comment
Да, я тоже использовал этот метод. здесь приведено лучшее решение, которое заставляет IntelliJ автоматически перезагружать ресурсы - person andyb; 14.09.2016