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>