spring-boot - 为什么这个基于 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 启动项目的方式。它不会打包资源文件夹。
谢谢。
解决方案
推荐阅读
- reactjs - 错误:useStoreState 中的错误:无法读取未定义的属性(正在读取“getState”)-easy-peasy
- typescript - 删除数据库后,TypeORM @AfterRemove 或 @BeforeRemove 实体侦听器是否仍会运行?
- javascript - Input[type="number"] 处理程序无法正常工作 [Formik, RegExp]
- html - 我正在尝试显示两张图像,一张是地图图标,另一张是便利设施图标 2 张单独的照片。我尝试了很多不同的方法
- docusignapi - DocuSign oauth:撤销访问令牌
- css - 向上滑动模态 - 覆盖背景以立即启动
- python - camelot-py 将文本添加到错误的表格单元格
- mrtk - MRTK 观众视图已弃用?
- python - 无法通过 conda、virtualenv 或 py_install 使用 reticulate 安装 tensorflow
- r - 如何将一个公共数字添加到另一列中具有相同值的行?