我尝试用JSP构建Spring Boot到jar包装。我构建了项目,当我使用此命令运行它时,它运行良好
$ mvn软件包
$ java -jar target / mymodule-0.0.1-SNAPSHOT.jar
但是当我转到目标目录($ cd目标)并尝试
$ java -jar mymodule-0.0.1-SNAPSHOT.jar
应用程序运行正常,但是当我打开浏览器并尝试打开页面时,出现错误“出现意外错误(类型=未找到,状态= 404)。/WEB-INF / jsp /index.jsp”
我的问题是为什么当我尝试时它会起作用
当我尝试时不起作用
$ cd目标
我该如何解决?
编辑
jar或目标目录中没有WEB-INF目录,当我将其放在那里时无济于事
如果您使用的是嵌入式Tomcat,则Spring Boot 不支持在可执行jar中使用JSP:
对于Tomcat,如果使用war打包,它应该可以工作,即可执行的war将可以工作,并且还可以部署到标准容器(不限于,但包括Tomcat)。由于Tomcat中采用了硬编码的文件模式,因此可执行的jar将无法工作。
尝试时可以使用,java -jar target/mymodule-0.0.1-SNAPSHOT.jar因为JSP在文件系统上可用src/main/webapp,Spring Boot 从文件系统中将JSP 配置为文档根目录,以便在开发过程中使用。当您移至目标目录时,该src/main/webapp文件夹不再可用,因此JSP停止工作。
java -jar target/mymodule-0.0.1-SNAPSHOT.jar
src/main/webapp