java - Spring Boot Jsp 不适用于版本 2.0.2.RELEASE

标签 java spring jsp spring-boot jar

我有一个 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/

相关文章:

spring - 如何在 Spring Batch 中使用 ClassifierCompositeItemProcessor 并将数据写入同一个表以进行 Insert 和 Upsert?

java - Hibernate 在 saveOrUpdate 上挂起

regex - 在 JSP EL 中使用正则表达式

java - Ant 需要 travis 服务器上的 junit.jar

java - 实现作业调度程序

java - 在 Spring Thymeleaf 中获取值(value)的问题

javascript - 如何在 javascript 中使用 main 和 newwindow 的全局变量

java - 如何将信息发送到jsp中的辅助函数?

java - 正则表达式检测 <code>...</code> 代码块

java - akka 与 play 框架