Tomcat本地部署SpringBoot项目

一、打包为war

相对于打包出jar,打包为war会复杂点:

Maven的pom.xml里设置:

XML 复制代码
<packaging>war</packaging>

然后,在spring-boot-starter-web依赖节点中移除tomcat相关外部包:

XML 复制代码
<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>

在依赖包内添加Servlet的包:

XML 复制代码
<!--        打包成war包,添加Servlet依赖-->
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-servlet-api</artifactId>
    <version>9.0.43</version>
</dependency>

二、打包

1、如果你的项目是Spring项目,需要设置启动主类SpringBootServletInitializer,创建一个SpringBootStartApplication类,同时继承SpringBootServletInitializerl类:

java 复制代码
public class SpringBootStartApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(ToolApplication.class);
    }
}

2、使用maven的clean、package将项目打包为war包

当然,你也可以直接到项目目录下,使用Maven命令打包:

XML 复制代码
mvn clean
mvn package

三、配置Tomcat

1、将刚刚打包好的.war文件,上传到tomcat里的/webapps内

2、配置server.xml文件

XML 复制代码
<Service name="Catalina">
    <!-- 每个项目的端口号也要进行区分,保证不被占用 -->
    <Connector port="8088" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URLEncoding="UTF-8"/>
    <!-- 这里的AJP端口同样也要进行区分 -->
	<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" secretRequired=""/>
    <Engine name="Catalina1" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
 
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
            <!-- 这里是想要部署的对应项目的名称 -->
		    <Context docBase="D:\class\JavaWeb\tomcat\apache-tomcat-8.5.46\webapps\ruoyi-admin" path="/" reloadable="true"/>
      </Host>
    </Engine>
  </Service>

path:你希望用什么访问地址到你项目文件

docBase:项目地址(可以是绝对路径,也可相对路径)

保存,退出即可。

四、启动Tomcat

启动终端进入Tomcat的bin目录然后直接执行startup.bat命令

直接浏览http://localhost:8080/ruoyi-admin

相关推荐
惊讶的猫20 小时前
探究StringBuilder和StringBuffer的线程安全问题
java·开发语言
jmxwzy20 小时前
Spring全家桶
java·spring·rpc
Halo_tjn20 小时前
基于封装的专项 知识点
java·前端·python·算法
Fleshy数模21 小时前
从数据获取到突破限制:Python爬虫进阶实战全攻略
java·开发语言
像少年啦飞驰点、21 小时前
零基础入门 Spring Boot:从“Hello World”到可上线的 Web 应用全闭环指南
java·spring boot·web开发·编程入门·后端开发
苍煜21 小时前
万字详解Maven打包策略:从基础插件到多模块实战
java·maven
有来技术21 小时前
Spring Boot 4 + Vue3 企业级多租户 SaaS:从共享 Schema 架构到商业化套餐设计
java·vue.js·spring boot·后端
东东51621 小时前
xxx医患档案管理系统
java·spring boot·vue·毕业设计·智慧城市
东东5161 天前
学院个人信息管理系统 (springboot+vue)
vue.js·spring boot·后端·个人开发·毕设
一个响当当的名号1 天前
lectrue9 索引并发控制
java·开发语言·数据库