在 IntelliJ IDEA 中打包 Web 项目,WAR 包的配置往往容易让人卡壳。很多教程只讲打包步骤,却忽略了部署验证和常见坑的排查。我们按步骤梳理从环境检查到最终部署验证的全过程,帮你避开大部分问题。
前置准备:确认基础配置
开始之前,先检查三个关键前提,缺失任一环节都可能导致后续操作失败。
首先打开项目结构(快捷键 Shift+Ctrl+Alt+S),在「Modules」中查看模块类型是否为「Web Application」。如果不是,需右键模块→「Add Framework Support」→勾选「Web Application」。
其次,在「Project Structure」→「Project」中,确认「Project SDK」已选择本地 JDK(建议 1.8 及以上),「Project language level」与 JDK 版本匹配。最后确保本地已安装 Tomcat(建议 8.x/9.x 版本),并记住其安装路径(如 D:\apache-tomcat-9.0.60),后续部署需用到。
核心配置:Artifacts 配置
这是打包的核心,按'新建工件→补全目录→关联编译输出'三步拆解,每步都要理解目的,避免盲目点击。
1. 新建 Web Archive 工件
打开「Project Structure」→选择左侧「Artifacts」→点击左上角「+」号→依次选择「Web Application: Archive」→「Empty」。这一步是创建一个空的 WAR 包模板,后续将项目文件逐步添加进去。
2. 配置 Web 根目录
在「Artifacts」右侧「Output Layout」面板中,右键空白处→选择「Add Content Directory」→选中项目的 Web 根目录(通常名为 WebContent 或 webapp,需包含 index.html、WEB-INF 文件夹)。Web 根目录是对外访问的入口,缺失会导致部署后找不到页面。
3. 补全 WEB-INF/classes 目录
展开已添加的 Web 根目录→找到「WEB-INF」文件夹(若没有则右键创建)。右键「WEB-INF」→「New Folder」→命名为 classes(必须小写)。该目录用于存放编译后的 .class 文件,缺失会导致 Tomcat 无法加载业务逻辑代码。
4. 关联 Module Output
右键「classes」目录→选择「Add Module Output」→在弹窗中选择当前 Web 项目的模块(如 demo-web)→点击「OK」。这样可以将项目编译后的 .class 文件自动同步到 classes 目录,无需手动复制,避免遗漏。
打包与验证
执行打包
点击顶部菜单栏「Build」→「Build Artifacts」→在弹窗中选择已配置的 Artifact(如 unnamed:war)→选择「Build」(首次打包)或「Rebuild」(更新后重新打包)。完成后,WAR 包默认存放在项目根目录下的 out\artifacts\ 文件夹中。
验证有效性
用压缩软件打开 WAR 包,检查三点:
- 根目录下是否有
index.html等页面文件。 WEB-INF下是否有classes目录,且内有.class文件。WEB-INF下是否有web.xml(传统项目需包含,注解配置可无)。 提前排查缺陷,能减少后续排错时间。


