关于java:如何防止Maven的spring-boot插件复制静态资源到target?

How do I prevent Maven's spring-boot plugin from copying static resources to target?

我最近更新了笔记本电脑上的操作系统(Linux Mint 17.1 => 17.3),现在当我使用

运行我的项目时

1
mvn spring-boot:run

静态资源被复制到目标文件夹,本质上是缓存它们。因此,我必须完全反弹服务器才能看到对反映在浏览器中的静态资源所做的更改。

在我更新笔记本电脑之前情况并非如此。我也发现是这个项目独有的,其他spring-boot项目不受影响。

在 Eclipse 中运行时,无论是在正常模式还是在调试模式下,我也无法获取要更新的静态资源。

一些附加信息:

Java 版本:1.7
Spring启动版本:1.3.2
spring-boot maven 插件版本:1.3.2
Maven 版本:3.3.9

有什么想法吗?


在 spring-boot maven 插件中显式设置 addResources 配置项似乎可以解决此问题。您的 pom 文件中的插件声明将如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<plugin>
    <groupId>org.springframework.boot</groupId>
    spring-boot-maven-plugin</artifactId>
    <configuration>
        true</addResources>
    </configuration>        
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

有趣的是,添加 spring-boot-devtools 依赖项并不能解决这个问题,尽管文档特别提到它会做与 addResources 配置项相同的事情。