我有一个 springboot 应用程序,当我在 intellij 中运行时它不能与 JSP 一起工作,但是当制作一个 JAR 时它不起作用。它给出了这个错误。
Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.
Mon May 21 00:23:11 IST 2018 There was an unexpected error (type=Not Found, status=404). No message available
JSP 文件存在于 src/main/resources/META-INF/resources/WEB-INF/jsp 中。
并且包含 application.properties 文件。
spring.view.prefix: /WEB-INF/jsp/
spring.view.suffix: .jsp
最佳答案
和maven如何打包JAR有关。
“对于 Tomcat,如果您使用 war 打包,它应该可以工作,即一个可执行的 war 将工作 (...)。由于 Tomcat 中的硬编码文件模式,一个可执行的 jar 将无法工作。”
您可以自己检查一下——打开生成的 JAR 文件,在根 WEB-INF 目录中将丢失。这就是在 IDE 中运行良好而在 JAR 中运行不正常的原因和区别。
请阅读:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-jsp-limitations
解决方案:制作 WAR 而不是 JAR :-)
更改 POM 中的包装。
<packaging>war</packaging>
下一个正常构建项目:
mvn clean install
运行它:
java -jar target/app.war
关于java - Spring Boot Jsp 不适用于版本 2.0.2.RELEASE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50438510/