一、引言
Web 项目 WAR 包打包常因步骤多、配置深而卡壳,且多数教程仅讲'打包'却忽略'部署验证'和'问题排查'。本文涵盖前置准备、核心配置、打包验证、Tomcat 部署及问题解决全流程。
二、前置准备:确认基础配置(避免起步就错)
在开始打包前,先检查 3 个关键前提,缺失任一环节可能导致后续操作失败:
- 确认项目类型:打开项目结构(快捷键
Shift+Ctrl+Alt+S),在「Modules」中查看模块类型是否为「Web Application」,若不是,需右键模块→「Add Framework Support」→勾选「Web Application」。 - 配置 JDK/SDK:在「Project Structure」→「Project」中,确认「Project SDK」已选择本地 JDK(建议 1.8 及以上),「Project language level」与 JDK 版本匹配(如 JDK 1.8 对应 level 8)。
- 准备 Tomcat(部署用):本地已安装 Tomcat(建议 8.x/9.x 版本),并记住其安装路径(如
D:\apache-tomcat-9.0.60),后续部署需用到。
三、核心配置:Artifacts 配置(打包关键步骤)
此模块是打包核心,按'新建工件→补全目录→关联编译输出'三步拆解,每步附操作目的,避免盲目点击:
3.1 新建 Web Archive 工件(即 WAR 包模板)
- 操作步骤:打开「Project Structure」→选择左侧「Artifacts」→点击界面左上角「+」号→依次选择「Web Application: Archive」→「Empty」。
- 操作目的:创建一个空的 WAR 包模板,后续将项目文件、编译结果逐步添加到该模板中。
3.2 配置 Web 根目录(确保页面文件能被访问)
- 操作步骤:在「Artifacts」右侧「Output Layout」面板中,右键「」→选择「Add Content Directory」→在弹窗中选中项目的 Web 根目录(通常名为
WebContent或webapp,需包含index.html、WEB-INF文件夹)。 - 操作目的:Web 根目录是项目对外访问的入口,缺失会导致部署后无法找到页面(如 index.html)。
3.3 补全 WEB-INF/classes 目录(存放编译后的代码)
- 操作步骤:
- 在「Output Layout」面板中,展开已添加的 Web 根目录→找到「WEB-INF」文件夹(若没有则右键 Web 根目录→「New Folder」创建)。
- 右键「WEB-INF」→「New Folder」→命名为
classes(必须小写,Web 项目标准目录)。
- 操作目的:
classes目录用于存放项目编译后的.class文件(如 Controller、Service 类),缺失会导致 Tomcat 无法加载业务逻辑代码。
3.4 关联 Module Output(自动导入编译结果)
- 操作步骤:在「Output Layout」面板中,右键「classes」目录→选择「Add Module Output」→在弹窗中选择当前 Web 项目的模块(如
demo-web)→点击「OK」。 - 操作目的:将项目编译后的
.class文件自动同步到classes目录,无需手动复制,避免遗漏文件。


