首页 > 解决方案 > 为什么这个基于 Gradle 的 Spring Boot 项目在 IntelliJ 中运行时不提供静态资源

问题描述

在使用 IntelliJ Idea 时,我发现为 Maven 项目创建几乎相同的 Spring Boot Initializr 项目和为 Gradle 项目创建相同的项目之间存在差异。

在创建和运行基于 Maven 的项目时,将一个简单的 index.html 添加到 src/main/resources/static 中,在浏览器中访问 localhost:8080 会按预期显示 index.html。

但是,当尝试完全相同但使用基于 Gradle 的项目时,由于 404 not found 错误,它会产生一个 Whitelabel 错误页面。

我还在输出中注意到,Maven 项目确实提到了

o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]

而这没有显示在 Gradle 版本的输出中。

谁能帮助确认这个问题是否是 IntelliJ 的问题,以及我是否需要进一步配置 Gradle 参数以“查看”和提供静态资源。

请注意 bootRun gradle 任务按预期工作,因此它看起来确实是 Intellij 启动项目的方式。它不会打包资源文件夹。

谢谢。

标签: spring-bootmavengradle

解决方案


推荐阅读