springboot项目部署到 本地tomcat容器

部署spring boot 项目到tomcat容器 一开始自己 捣鼓 想 多 踩坑 果然坑还真不少 后来查了点别人的部署经验 很快就 搞定了。

步骤:
一 丶修改打包方式
在pom.xml中设置打包方式 默认 为jar 需要修改为war

 <packaging>war</packaging>

二丶移除spring boot内嵌的tomcat

 <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
         <!--需要移除的依赖-->
         <exclusions>
              <exclusion>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-starter-tomcat</artifactId>
              </exclusion>
         </exclusions>
    </dependency>

三丶加入servlet的依赖 因为项目中的用到的servlet依赖来自内嵌的tomcat现在 内嵌的tomcat移除了但我们的项目有业务依赖servlet 所以自然要引入servlet依赖

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
</dependency>

四丶启动类 继承SpringBootServletInitializer 并且重写configure方法 在里面 加载启动类资源到项目中,重新构建项目结构。

注:SpringBootServletInitializer的执行过程,简单来说就是通过SpringApplicationBuilder构建并封装SpringApplication对象,并最终调用SpringApplication的run方法的过程

@SpringBootApplication
public class HomeworkApplication extends SpringBootServletInitializer {
    //继承SpringBootServletInitializer 重写 configure
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(HomeworkApplication.class);
    }

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

}

五丶修改配置 文件(其实不需要配置 写出来是因为我在这里发现了坑
网上好多人都说要 修改配置文件appication.yml

 server:
      port: 8089
      servlet:
        context-path: /homework/

注:我个人踩了一下坑 其实配不配都可以 因为效果一样

个人理解:yml中的server配置应该是对内置tomcat的一个配置 我们现在并没有用内置tomcat 所以配不配都一样 都不会生效 就算配了

port --> 还是以tomcat的配置文件中的端口启动
context-path --> 还是以war包的名字作为项目路径

但是需要注意一点 如果你配了上面两个属性就得配对了 不能有语法 上的错误
例如

#正确配法:
server:
  port: 8089
  servlet:
    context-path: /homework/
#错误配法
server:
  port: 8089
  servlet:
    context-path: homework

六丶打包项目
在maven中双击insert 或者命令打包(命令可以在网上找)

七丶配置本地tomcat(若8080没有被占用或者只有 单台服务器下面的就不需要看了)

1.下载或者拷贝一个 旧的tomcat做准备工作

目录介绍

tomcat目录介绍
2.进入conf文件夹下的server.xml修改tomcat的默认启动端口
修改tomcat的默认启动端口
3.进入conf文件夹下的tomcat-users.xml修改tomcat的项目管理页面的 用户名密码及角色

<role rolename="manager-gui"/>
<user username="admin" password="" roles="manager-gui"/>

4.将springboot的war包拷贝到webapps下 ,修改war包名称 (war包名称 对应 项目访问路径)

例如我的项目叫 homework.war在这里插入图片描述

5.在bin下运行startup.bat/startup.sh就可以访问项目了(这个时候webapps下对多一个以war包名 命名的 文件夹 比如我的:homework)

6.如果不想管理项目的话 直接将文件夹丢到 ROOT文件夹下也可以 tomcat运行首先加载的 就是ROOT文件夹下的项目 tomca默认在ROOT下部署的是管理项目的一个小系统

到此 springboot部署本地tomcat容器就完成了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值