springboot项目使用外部tomcat启动及部署到tomcat容器

2022-07-20 09:37:52

1,外部tomcat启动springboot项目

(1)、修改pom文件,添加依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

(2)、修改pom文件,将打包方式改为war

<packaging>war</packaging>

(3)、修改启动项class文件

@SpringBootApplication
@MapperScan("com.jc.mapper")
public class ProApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
        return builder.sources(ProApplication.class);
    }
    
    public static void main(String[] args){
        SpringApplication.run(ProApplication.class, args);
    }
}

配置到此即可成功在idea中使用外部tomact启动springboot项目

注** 使用tomcat7运行项目

报错信息:
在这里插入图片描述
在这里插入图片描述错误原因为:tomcat7中el-api版本过低

使用tomcat7启动错误事项:使用过高版本的spring-boot-starter-web依赖,tomcat7运行会报错
,修改为低版本的即可,1.5.6RELEASE 可成功运行项目

       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.5.6.RELEASE</version>
        </dependency>

2,部署到tomcat容器运行

在上面的基础上使用maven打包项目,将打包好的projcet.war解压、拷贝纸tomact的webapps\ROOT\文件加下即可运行访问。

注* tomcat8运行错误事项

在这里插入图片描述 错误原因:application.yml中context-path 需要以“/”开始

在使用tomcat8时,application.yml文件中配置:server.servlet.context-path:/project
必须要以“/”开始,不配置server.servlet.context-path 也可正常运行。
tomcat7 则没有次错误

  • 作者:自古英雄
  • 原文链接:https://blog.csdn.net/hero4433/article/details/123344966
    更新时间:2022-07-20 09:37:52