springBoot 打成jar包 无法访问jsp文件

本文介绍了一种无需将SpringBoot项目降级,通过在pom.xml中添加WAR打包配置,直接使用java-jar命令启动WAR包,从而实现访问JSP文件的方法。

网上说的可以将springBoot降级到1.4之类的方法

我偷懒不想降级 在pom文件中添加

<packaging>war</packaging>

然后打成war包 同样用 java -jar xxx.war 方式启动即可访问jsp文件

在运行使用嵌入式servlet容器(并打为可执行存档)的Spring Boot应用程序时,使用可执行jar时不支持JSP,所以无法将Spring Boot + JSP项目打JAR并正常运行JSP页面。若使用Jetty和Tomcat,以war打JSP支持应该可以工作,使用`java -jar`启动可执行war也能起作用,并且还能部署到任何标准容器;而Undertow不支持JSP,创建自定义`error.jsp`页面不会覆盖错误处理的默认视图,应改用自定义错误页面 [^2]。 如果要打Spring Boot项目为JAR,在打时对于maven中的`<scope>provided</scope>`,表示这个jar在编译测试等地方是需要的,但打不会一起打进去,可避免此类构件当部署到目标容器后产生依赖冲突。由于Spring Boot内置了Tomcat,可能需要重新配置一下,防止冲突 [^1]。 若要将Spring Boot项目打成war,可在IntelliJ IDEA中进行如下操作:修改启动类让其继承SpringBootServletInitializer实现方法configure,示例代码如下: ```java package com.qingbo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication public class SpringbootDeployApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(SpringbootDeployApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(SpringbootDeployApplication.class); } } ``` [^5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值