项目部署方法总结
7 项目部署
7.1 一些概念
- Tomcat:是 Apache 软件基金会开发的Java Web 服务器,用于运行 Java 编写的 Web 项目(如 SSM、Spring Boot 项目)。它能接收浏览器发送的请求,调用项目代码处理后返回结果,是 Java Web 项目 “上线运行” 的核心工具。
- 脱离 IDEA 启动项目:IDEA 是开发工具,开发时通过 IDEA 启动项目仅用于调试;实际项目需要 “独立运行”—— 即直接启动 Tomcat(点击startup.bat) 就能加载项目,无需打开 IDEA,这是项目从 “开发阶段” 进入 “运行阶段” 的关键步骤。
- 云服务器:是远程的、可通过网络访问的 “虚拟电脑”。本地电脑关闭后项目会停止,而云服务器 24 小时开机运行,能让项目持续在线(如你访问的网站,背后都是云服务器在支撑)。常见的云服务器厂商有阿里云、腾讯云、华为云等。
- 部署:将开发完成的项目,从开发环境(如你的电脑、IDEA)转移到运行环境(如本地 Tomcat、云服务器),使其能够独立、稳定地对外提供服务的过程。
- jar包和war包
| 特性 | JAR 包 (Java Archive) | WAR 包 (Web Application Archive) |
| 全称 | Java Archive | Web Application Archive |
| 用途 | 封装普通 Java 类、资源文件。常用于 非 Web 项目 或 SpringBoot 项目 。 | 封装 Web 应用程序,包含 Servlet、JSP、页面、配置等。 必须依赖外部 Web 服务器(如 Tomcat)运行 。 |
| 部署方式 | 通常使用命令java -jar <文件名.jar>直接运行项(这个不是严格意义上的部署,只是看是否可以成功运行)。 | 必须放入 Tomcat 等 Web 服务器的指定目录(如 webapps)或通过配置文件指定位置。 |
| 包含内容 | META-INF/目录和项目编译后的.class文件、资源文件。 | WEB-INF/目录(包含classes 、lib、web.xml)和项目的静态资源(如 HTML、CSS)。 |
| 典型项目 | 普通 Java 控制台项目、Maven 公共模块、 SpringBoot 项目 。 | SSM 项目、SSH 项目、传统 Servlet/JSP 项目。 |
- 不同项目类型的部署方式对比
| 项目类型 | 打包格式 | 能否部署到 Tomcat? | 核心部署方式 |
| 普通 Java 项目(控制台) | JAR | 不能 | 直接通过命令 java -jar 项目名.jar 运行(无需 Tomcat,依赖 JDK 即可) |
| Mavenjava项目的公共模块(如 hami_core,mavenjav项目) | JAR | 不能 | 无需独立部署,打包后通过 mvn install 安装到本地仓库,供其他 Web 项目依赖调用 |
| 普通 JavaWeb/SSM 项目 | WAR | 能(必须) | 需放到 Tomcat 的 webapps 或通过 server.xml 配置,依赖 Tomcat 运行 |
| Maven JavaWeb 项目 | WAR | 能(必须) | 同普通 JavaWeb 项目,需打包为 WAR 后部署到 Tomcat |
| SpringBoot 项目 | JAR | 通常不建议 | 自带嵌入式 Tomcat,直接用 java -jar 项目名.jar 运行(无需额外安装 Tomcat) |
| SpringBoot 项目(指定) | WAR | 能 | 需在 pom.xml 中排除嵌入式 Tomcat,打包为 WAR 后部署到外部 Tomcat(少见场景) |
只有 Web 项目(需对外提供网页 / 接口,如 SSM、Servlet 项目)才需要打包为 WAR 并部署到 Tomcat;
JAR 包项目(控制台、SpringBoot、Maven 公共模块)要么无需部署(依赖调用),要么直接用java -jar运行(无需 Tomcat);
7.2 Tomcat部署项目
- Tomcat部署项目按照部署位置分,分本地部署(Windows系统)和云服务器部署(Linux系统)。
- 按部署方式分,Tomcat 部署分两类
- 静态部署:部署时需手动操作(放 WAR 包、改配置),且修改后需重启 Tomcat 才能生效(适合测试 / 生产环境);
- 动态部署:通过 Tomcat 管理界面(http://localhost:8080/manager)上传 WAR 包或配置项目,无需重启 Tomcat(适合开发环境快速测试)。
| 部署类型 | 配置位置 | 配置位置 / 操作入口 | 是否需重启 Tomcat | 适用场景 |
| 静态方式一 | conf/server.xml | Tomcat安装目录/conf/server.xml | 是 | 多项目、需自定义端口 |
| 静态方式二 | 直接放 webapps | Tomcat安装目录/webapps | 是(新增项目时) | 单项目、快速测试 |
| 静态方式三 | conf/Catalina/localhost/项目名.xml | conf/Catalina/localhost/项目名.xml | 否(新增时) | 多项目、减少配置风险 |
| 动态部署 | Tomcat 管理界面 | 浏览器访问 http://IP:8080/manager | 否 | 开发环境、临时测试 |
