springboot war包部署到外部tomcat
时间: 2024-09-09 08:04:31 浏览: 23
Spring Boot 通常用于创建独立的、生产级别的基于Spring的应用程序,其默认方式是打包成一个可执行的jar包。然而,有时候出于特定的生产环境需求,我们需要将Spring Boot应用打包成war包并部署到外部的Tomcat服务器上。以下是一个基本的步骤说明:
1. **排除内置的Tomcat依赖**:在你的pom.xml文件中,需要将Spring Boot的内嵌Tomcat依赖设置为scope为provided,这样在打包的时候就不会将Tomcat打包进war包内。
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
```
2. **修改启动类**:让Spring Boot的启动类继承`SpringBootServletInitializer`,并重写`configure`方法,这样做是为了让Spring Boot应用能够在外部的Tomcat容器中正常启动。
```java
@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MyApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
```
3. **打包应用**:使用Maven或Gradle命令将应用打包成war包。对于Maven,通常使用`mvn clean package`命令。
4. **部署war包**:将生成的war文件复制到Tomcat的`webapps`目录下。
5. **启动Tomcat**:启动Tomcat服务器,如果一切顺利,你的Spring Boot应用将作为应用上下文被部署到Tomcat中,并可以通过配置的端口和路径访问。