SpringBoot开发的web项目的部署

2022-10-27 16:08:07 浏览数 (2)

SpringBoot开发的web项目的发布

代码语言:javascript复制
SpringBoot默认采用内置的服务器运行,所以在打成war包发布到Tomcat上之后必不会采用Tomcat运行的方式,所以打成war包之后放到tomcat上之后,所有的动态资源将无法访问SpringBoot打war包发布到tomcat需要按照如下方式进行配置:

a.修改入口类 在入口类通过@ServletComponentScan注解进行标注并让此类继承SpringBootServletInitializer b.修改pom文件中的打包方式为war c.如果打成的war包启动时报如下错误,则需要屏蔽SpringBoot内置的web容器

代码语言:javascript复制
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component
代码语言:javascript复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

d.利用maven打war包发布

代码语言:javascript复制
mvn clean
mvn package
或者IDEA中点一点喽~~

e.如果访问动态资源的过程中报出类似于convert的类型转换错误,手动引入jackson的依赖即可

代码语言:javascript复制
<!-- 导入jackson依赖 -->
<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-core</artifactId>
</dependency>

0 人点赞