🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、概述 一般分为两种;一种是打包成 jar 包直接执行,另一种是打包成 war 包放到 tomcat 服务器下,我们决定采用war包方案。 ## 二、打成 jar 包 不采用这个方案,如果需要,可以参考:[打jar包](打包部署/打jar包.md) ## 三、打成 war 包 1、pom中,确保: ~~~ <packaging>war</packaging> ~~~ 2、打包时排除tomcat. ~~~ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> ~~~ 3、注册全局启动类 创建 RayInitializer .java,继承 SpringBootServletInitializer ,覆盖 configure(),把启动类 RayApplication注册进去。外部 Web 应用服务器构建 Web Application Context 的时候,会把启动类添加进去。 ~~~ package org.ray.ray.core; import org.ray.ray.RayApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; public class RayInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(RayApplication.class); } } ~~~ 4、最后执行 进入当前工程的主目录下(直接包含pom文件) ~~~ mvn clean package -Dmaven.test.skip=true ~~~ ![](https://img.kancloud.cn/b6/f7/b6f708c3554690a935d95cc94f14a7db_677x443.png) 当然,也可以用eclipse插件图形化的打包: 执行:maven build命令 [关于eclipse插件](../../开发工具/Maven/eclipse插件.md) ![](https://img.kancloud.cn/2d/7b/2d7bdde9405a62e809f534420befca52_972x640.png) ![](https://img.kancloud.cn/0f/31/0f31c661acb02b507c7473b2225877ac_748x696.png) 会在 target 目录下生成:项目名+版本号.war文件,拷贝到 tomcat 服务器中启动即可。