SpringBoot 外部tomcat 打包成war包部署

本文介绍Spring Boot项目打war包部署到外部Tomcat的方法。先将Tomcat升级到8版本以上以避免部署错误,接着修改项目启动类和Maven依赖,移除Tomcat依赖。然后打包项目,将war包拷贝到Tomcat的webapps目录,最后启动Tomcat并通过浏览器访问项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目部署前先填个坑,就是tomcat7.0部署SpringBoot的war包会出现一个错误

error creating bean with name 'defaultvalidator' defined in class path resource

所以部署前少填点坑将tomcat升级到8版本以上

接下来就修改我们Spring boot项目里面的启动类和maven依赖了

POM.XML在里面添加 <finalName>打包后war包的名称</finalName>
在这里插入图片描述

添加打包类型<packaging>war</packaging>
在这里插入图片描述
接下来是比较关键的依赖包和排除依赖包

<!--        添加外部tomcat的servlet-api服务-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>

移除tomcat依赖或者将tomcat依赖scope改为provide移除tomcat依赖

<dependency>

  <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

    <!-- 移除嵌入式tomcat插件 -->

    <exclusions>

      <exclusion>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-tomcat</artifactId>

      </exclusion>

    </exclusions>

</dependency>

<dependency>

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-starter-tomcat</artifactId>

  <scope>provided</scope>

</dependency>

现在到我们的启动类了 我这里启动类名:Application

继承SpringBootServletInitializer类实现configure方法

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }
}

接下来打包部署

将项目的maven 先 mvn clean 然后 mvn install 一下打包
打包成功在项目目录下就出现一个target文件其次找到下面的war包
在这里插入图片描述
把war拷贝到我们的外部tomcat文件的webapps目录下
在这里插入图片描述
在这里插入图片描述
因为我的tomcat一直是启动状态的拷贝下去的war包就会直接被编译

启动tomcat 访问项目

startup

我的tomcat环境变量配好的所以直接cmd里在这里插入图片描述在这里插入图片描述
启动后没有报错下面显示了tomcat的端口和关闭端口

项目就打包部署完成了,浏览器访问项目:http://localhost:端口号/war包名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值