IntelliJ IDEA 打包 Web 项目 WAR 包及 Tomcat 部署指南
介绍使用 IntelliJ IDEA 打包 Web 项目为 WAR 包的完整流程,涵盖前置配置、Artifacts 设置、打包验证、Tomcat 部署及常见问题排查。重点包括确认项目类型、配置 JDK、创建 Web Archive 工件、添加 Web 根目录与编译输出、处理依赖库缺失及 404 错误等场景。同时提供 Maven 项目打包的多模块适配方案,确保 WAR 包结构正确并成功部署运行。

介绍使用 IntelliJ IDEA 打包 Web 项目为 WAR 包的完整流程,涵盖前置配置、Artifacts 设置、打包验证、Tomcat 部署及常见问题排查。重点包括确认项目类型、配置 JDK、创建 Web Archive 工件、添加 Web 根目录与编译输出、处理依赖库缺失及 404 错误等场景。同时提供 Maven 项目打包的多模块适配方案,确保 WAR 包结构正确并成功部署运行。

对于 IntelliJ IDEA 新手来说,Web 项目 WAR 包打包常因步骤多、配置深而卡壳,且多数教程仅讲'打包'却忽略'部署验证'和'问题排查'。本文将从前置准备→核心配置→打包验证→Tomcat 部署→问题解决,带你完整走通流程,避开常见坑。
在开始打包前,先检查 3 个关键前提,缺失任一环节可能导致后续操作失败:
Shift+Ctrl+Alt+S),在「Modules」中查看模块类型是否为「Web Application」,若不是,需右键模块→「Add Framework Support」→勾选「Web Application」。D:\apache-tomcat-9.0.60),后续部署需用到。此模块是打包核心,按'新建工件→补全目录→关联编译输出'三步拆解,每步附操作目的,避免盲目点击:
WebContent 或 webapp,需包含 index.html、WEB-INF 文件夹)。classes(必须小写,Web 项目标准目录)。classes 目录用于存放项目编译后的 .class 文件(如 Controller、Service 类),缺失会导致 Tomcat 无法加载业务逻辑代码。demo-web)→点击「OK」。.class 文件自动同步到 classes 目录,无需手动复制,避免遗漏文件。unnamed:war)→选择「Build」(首次打包)或「Rebuild」(更新后重新打包)。out\artifacts\ 文件夹中(如 demo\out\artifacts\unnamed.war)。index.html 等页面文件。WEB-INF 文件夹下是否有 classes 目录,且 classes 内有 .class 文件。WEB-INF 文件夹下是否有 web.xml(若项目用注解配置则可无,但传统项目需包含)。webapps 目录下(如 D:\apache-tomcat-9.0.60\webapps)。bin 目录,双击 startup.bat(Windows)或执行 ./startup.sh(Linux/Mac)启动 Tomcat。http://localhost:8080/[WAR 包名]/index.html(如 WAR 包名为 demo.war,则路径为 http://localhost:8080/demo/index.html),能正常显示页面即部署成功。logs 目录下的 catalina.out 文件,排查端口占用、依赖冲突等问题。Spring Core、MyBatis)→点击「OK」,重新打包。WEB-INF/classes 目录下无任何文件。webapps 目录:启动 Tomcat 后,若 WAR 包未自动解压(无同名文件夹),删除 WAR 包,重启 Tomcat 重试。http://localhost:8080/demo/index.html,而非 http://localhost:8080/index.html)。conf/server.xml 文件,查看 <Connector port="8080" 是否被占用,若占用则修改端口(如改为 8081),重启 Tomcat。target 目录下。自定义配置:若需修改 WAR 包名称,在 pom.xml 中添加:
<build><finalName>my-demo</finalName><!-- 自定义 WAR 包名 --></build>
demo-parent 下有 demo-service、demo-web),仅需对 demo-web 模块(Web 类型)执行上述打包步骤,无需处理父模块或服务模块。本文从'配置→打包→验证→部署→排错'覆盖 WAR 包全流程,核心是确保「Artifacts 配置完整」和「提前验证打包结果」。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online