创建 Spring Boot 应用程序时,在开发环境中,IntelliJ Idea 创建一个不带 Maven 的运行配置,并直接调用类型为“Spring Boot”的静态 Main 方法。
当我在没有 Maven 的情况下运行时,我的 JSP 模板文件没有被解析,并且出现下面的错误页面。
当我使用 Maven 运行时,它们已解决,但我无法调试。我看到一些 POM.xml 配置能够附加调试器,但即使我使用“运行”而不是“调试”来启动应用程序,它也会一直进行调试。
我应该在没有 Maven 的情况下运行 Boot 应用吗?
如果我不应该,那么调试应该是这样的吗?
我感觉这里有些不对劲...
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu Mar 16 08:53:54 GMT 2017
There was an unexpected error (type=Not Found, status=404).
No message available
我相信我看到这个错误页面是因为它尝试定位我的index.jsp,但找不到它,然后尝试定位error.jsp,但也找不到它。
最佳答案
好吧,经过更多研究,似乎在开发环境中直接通过 Main 方法运行 Spring Boot 应用程序而不是 Maven 是正确的。
如果 Tomcat Jasper 依赖项的范围是 <scope>provided</scope>
,则在没有 Maven 的情况下无法呈现 JSP 问题,将其更改为“编译”或“运行时”后,它开始在没有 Maven 的情况下工作。有趣的是,当“提供”JSP 渲染仅适用于 Maven 时。
关于java - Spring Boot 使用或不使用 Maven 运行?如果没有,JSP 就无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42828621/