SpringBoot应用:从Maven到WAR部署教程

需积分: 50 15 下载量 117 浏览量 更新于2024-09-07 收藏 159KB DOCX 举报
在Spring Boot应用中,将应用程序打包成WAR包并部署到Tomcat服务器是一个常见的需求,尤其是在微服务架构中。以下是将Spring Boot应用进行这种转换和部署的详细步骤: 1. 修改`pom.xml`: 首先,你需要在`pom.xml`中调整打包方式。通过添加以下代码,将打包类型改为WAR,同时排除掉内置的Tomcat依赖: ```xml <build> ... <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <classifier>war</classifier> <archive> <manifest> <mainClass>com.example.IotServeNoticeApplication</mainClass> </manifest> </archive> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> ... </plugins> </build> ``` 同时,为了支持Web容器,你需要引入`servlet-api`依赖,确保其`scope`设置为`provided`,表示该依赖会在运行时由Tomcat提供: ```xml <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> ``` 2. 修改启动类: 在启动类`IotServeNoticeApplication`中,根据截图所示,可能需要对`SpringApplicationBuilder`进行配置。这里使用`SpringBootServletInitializer`来初始化Web应用程序: ```java public class IotServeNoticeApplication extends SpringBootServletInitializer { protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(IotServeNoticeApplication.class); } @Override protected SpringApplicationBuilder configure() { return super.configure().web(true); } public static void main(String[] args) { SpringApplication.run(IotServeNoticeApplication.class, args); } } ``` 3. 配置Eureka和Hystrix: 如果你的应用需要与Eureka注册中心交互,需要配置`spring.jmx.default-domain`属性,并将Eureka服务注册地址更改为`http://ip:port/项目名称/eureka`。此外,启用Hystrix和Feign客户端也是必要的: ```java @EnableHystrix @EnableFeignClients @EnableDiscoveryClient @SpringBootApplication public class IotServeNoticeApplication extends SpringBootServletInitializer { // ... } ``` 4. 打包和部署: 完成以上配置后,运行`mvn clean package`命令打包应用程序。这将生成一个WAR文件。将生成的WAR文件复制到Tomcat的webapps目录下,或者根据你的部署环境选择合适的部署方法。 5. 重启Tomcat: 将WAR文件部署完成后,需要重启Tomcat服务器,以便加载新的应用程序。你可以通过控制台或管理界面重启Tomcat。 6. 微服务部署: 如果有多个服务,可能需要在每个服务的`service`标签上按照截图中的指导进行相应位置的修改,确保它们正确地与Eureka注册中心交互。 这个过程涉及Spring Boot项目的构建配置、排除内置依赖、配置Eureka和Hystrix、打包以及在Tomcat上部署和管理。通过这些步骤,你可以将Spring Boot应用打包成WAR包,并在外部容器如Tomcat中运行,实现服务间的协作与监控。