spring-boot - 静态资源未部署到 tomcat-docbase 文件夹 - (IntelliJ 2018 / Spring Boot 2 / Embedded Tomcat)
问题描述
我一直在将旧的 Spring 4.x 应用程序转换为在 Spring Boot 2.x 上运行。此应用程序包含存储在 WAR 的“/WEB-INF/tiles”目录中的 JSP。
当我在本地(使用 IntelliJ 2018.3)运行应用程序时,服务器启动,但是当我尝试点击本地登录页面(“/devlogin”)时,我得到一个 404 未找到。在我的调试堆栈中,我设法找到了这个打印输出:
DEBUG o.a.j.s.JspServlet - JspEngine --> /WEB-INF/tiles/devlogin.jsp +[] #[]
DEBUG o.a.j.s.JspServlet - ServletPath: /WEB-INF/tiles/devlogin.jsp +[] #[]
DEBUG o.a.j.s.JspServlet - PathInfo: null +[] #[]
DEBUG o.a.j.s.JspServlet - RealPath: C:\Users\LBlack\AppData\Local\Temp\7\tomcat-docbase.8622225261320704348.8080\WEB-INF\tiles\devlogin.jsp +[] #[]
当我转到“RealPath”时,我发现\tomcat-docbase.#\
文件夹是空的,所以我手动复制粘贴到我的/WEB-INF/
文件夹中并重新加载浏览器,它就可以工作了!
现在我的问题是,如何让 IntelliJ 或 Tomcat 自动将 WEB-INF 部署到该位置?除了 Spring Boot 配置设置中允许的内容之外,我没有使用任何直接配置的 tomcat。有什么我可以添加到的application.yaml
,或者这是一个 IntelliJ 运行设置?
谢谢你。
解决方案
推荐阅读
- java - 为什么 gradle 默认按模块名称顺序解析依赖关系?
- python - Keras中损失函数的含义?
- c# - Avalonia UI C# XAML WPF - 根据列值调整数据网格行颜色
- django - 无法在 crud 操作中检索数据
- python - 基于熊猫中其他列的值的分组计数
- azure - 一种手动失败备份 azure webapp 以测试脚本的方法
- php - 如何在 cpanel cron 作业中只运行一个 php 文件的后台进程?
- ios - 在特定的时间段内每天以每小时间隔运行本地通知
- android - 使用 ViewModel 更改 Fragment 时在 ImageView 中保留 Bitmap
- laravel - 在 Laravel Framework 7.5.2 中访问当前路由名称时获取空值