我有一个弹簧启动应用程序,当我在intellij内部运行时,它不能与JSP一起工作,但是当制作一个JAR时它不起作用。它给出了这个错误。
Whitelabel错误页面此应用程序没有/ error的显式映射,因此您将此视为回退。
Mon May 21 00:23:11 IST 2018出现意外错误(type = Not Found,status = 404)。没有可用的消息
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