关于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

有什么想法吗?

相关讨论

  • 你刚升级到Boot 1.3吗?您应该查看新的开发工具和相关更改。

在 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 配置项相同的事情。

相关讨论

  • 这在使用 mvn spring-boot:run 在命令行上运行时有效,但 IntelliJ 在使用 Spring Boot 配置时不会使用此选项获取更改。执行 Make Module 将重新加载更改,但这并不理想。
  • 我使用 eclipse,但我相信 IntelliJ 也可以做到这一点。您可以创建一个使用 spring-boot:run 目标的 Maven 运行配置。这也允许您使用 IDE 的调试工具并保持 spring-boot:run..
  • 是的,我也使用了这种方法。这里给出了一个更好的解决方案,它使 IntelliJ 自动重新加载资源

以上是关于java:如何防止Maven的spring-boot插件复制静态资源到target?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>