【项目部署】JavaWeb、MavenJavaWeb项目部署至 Tomcat 的实现方式

在项目开发完成后,将项目部署到 Tomcat 服务器是实现线上运行的关键步骤。

Tomcat 目录结构解析

Tomcat 作为主流的 JavaWeb 服务器,其目录结构清晰且功能划分明确,熟悉这些目录是顺利部署项目的基础。以 apache-tomcat-8.5.57 版本为例,核心目录及功能如下:

三种部署方法

方法一:手动打包 WAR 文件部署

此方法适用于所有 JavaWeb 项目,核心是将项目打包为 WAR 格式文件,再放入 Tomcat 的默认部署目录,步骤如下:

打包普通 JavaWeb 项目(以 Eclipse 为例)

在 Eclipse 的「Project Explorer」中,右键选中需要部署的 JavaWeb 项目,选择「Export」(导出)选项;

在弹出的导出对话框中,找到并选择「WAR file」,点击「Next」;

在「WAR Export」界面,确认「Web project」为目标项目,点击「Browse」选择 WAR 文件的保存路径;

取消勾选「Export source files」(除非需要部署项目源码),避免增大文件体积,最后点击「Finish」,Eclipse 会自动完成打包,生成项目名.war文件。

打包 MavenSSM 项目

Maven 项目的打包依赖pom.xml配置,步骤与普通项目略有不同:

打开项目的pom.xml文件,确保<packaging>标签设置为war(即<packaging>war</packaging>),指定打包格式为 WAR;

在 IDE(如 IDEA)的「Maven Projects」面板中,双击「Lifecycle」下的package命令(或执行mvn package命令);

等待控制台输出「BUILD SUCCESS」,表示打包完成。此时会在项目根目录的target文件夹中,生成项目名-版本号.war文件(如ssmDemo-1.0-SNAPSHOT.war)。

部署 WAR 文件

若 Tomcat 正在运行,需先停止服务:Windows 系统双击bin/shutdown.bat,Linux/macOS 执行bin/shutdown.sh

将生成的 WAR 文件复制到 Tomcat 的webapps目录下(如apache-tomcat-8.5.57/webapps);

启动 Tomcat:Windows 双击bin/startup.bat,Linux/macOS 执行bin/startup.sh

Tomcat 启动时会自动解压 WAR 文件,生成与 WAR 文件名相同的文件夹(如web.war解压为web文件夹);

打开浏览器,通过http://localhost:8080/项目文件夹名/目标文件名访问项目(如普通项目http://localhost:8080/web,SSM 项目http://localhost:8080/ssmDemo-1.0-SNAPSHOT)。

方法二:修改 conf/server.xml 文件部署

此方法无需将项目放入webapps目录,通过修改 Tomcat 核心配置文件server.xml,指定项目的访问路径与实际存储路径,灵活性更高,步骤如下:

理解核心配置逻辑

Tomcat 的server.xml中,<Host>标签代表一个虚拟主机(默认虚拟主机为localhost),所有 Web 项目的部署配置需嵌套在<Host>标签内。通过添加<Context>子标签,可关联 "浏览器访问路径" 与 "项目实际路径"。

配置步骤

通过添加 <Context> 元素,我们告诉 Tomcat 当浏览器访问 http://主机名:端口/[path] 时,实际去 docBase 指定的路径加载 Web 项目资源。

XML 复制代码
<Context path="/web" docBase="C:/Users/HP/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/web" reloadable="true" />

<Context path="/ssm" docBase="D:/javacode/ssmDemo/target/ssmDemo-1.0-SNAPSHOT" reloadable="false" />

path:浏览器访问时的路径名
docBase:Web 项目的根目录在磁盘上的实际位置,即编译后的项目路径
reloadble: 项目文件修改后,Tomcat 是否自动重新加载项目

启动 Tomcat 后打开浏览器,通过 http://localhost:8080/项目名/访问的文件名 即可访问该项目

方法三:conf/Catalina 目录独立配置部署

此方法将单个项目的部署配置从server.xml中分离,每个项目用独立的 XML 文件管理,便于维护多个项目,步骤如下:

配置原理

Tomcat 启动时会自动扫描conf/Catalina/localhost目录下的所有 XML 文件,每个 XML 文件对应一个 Web 项目的部署配置。XML 文件名默认作为项目的访问路径前缀(可通过<Context>path属性覆盖)。

配置步骤

进入 Tomcat 的conf/Catalina/localhost目录;

新建一个与项目名一致的 XML 文件(如普通项目建web.xml,SSM 项目建ssm.xml);

在 XML 文件中添加<Context>配置,格式如下:

XML 复制代码
<Context path="/web" docBase="C:/Users/HP/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/web" reloadable="true" />

<Context docBase="D:/javacode/ssmDemo/target/ssmDemo-1.0-SNAPSHOT" reloadable="false" />

注:若需自定义访问路径,可添加path属性(如<Context path="/ssmDemo" ... />),但通常建议直接用 XML 文件名作为路径,减少配置冗余;

保存 XML 文件,重启 Tomcat;

浏览器访问项目:普通项目http://localhost:8080/web,SSM 项目http://localhost:8080/ssm

相关推荐
淘源码d7 分钟前
什么是医院随访系统?成熟在用的智慧随访系统源码
java·spring boot·后端·开源·源码·随访系统·随访系统框架
程序猿阿越1 小时前
Kafka源码(七)事务消息
java·后端·源码阅读
m0_748248021 小时前
C++20 协程:在 AI 推理引擎中的深度应用
java·c++·人工智能·c++20
笑我归无处1 小时前
强引用、软引用、弱引用、虚引用详解
java·开发语言·jvm
02苏_1 小时前
秋招Java面
java·开发语言
爱吃甜品的糯米团子1 小时前
详解 JavaScript 内置对象与包装类型:方法、案例与实战
java·开发语言·javascript
程序定小飞2 小时前
基于springboot的学院班级回忆录的设计与实现
java·vue.js·spring boot·后端·spring
攀小黑2 小时前
基于若依-内容管理动态修改,通过路由字典配置动态管理
java·vue.js·spring boot·前端框架·ruoyi
青云交2 小时前
Java 大视界 -- 基于 Java 的大数据可视化在城市空气质量监测与污染溯源中的应用
java·spark·lstm·可视化·java 大数据·空气质量监测·污染溯源
森语林溪3 小时前
大数据环境搭建从零开始(十七):JDK 17 安装与配置完整指南
java·大数据·开发语言·centos·vmware·软件需求·虚拟机