springboot jar 如果已经内嵌了tomcat 如何在tomcat 里面部署
时间: 2024-02-21 18:50:33 浏览: 158
如果您的 Spring Boot 项目已经内嵌了 Tomcat,那么您可以通过以下步骤将其部署到外部的独立 Tomcat 服务器上:
1. 将 Spring Boot 项目打成 WAR 包。在 pom.xml 中添加以下依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
```
注意,设置 `scope` 为 `provided`,以避免将 Tomcat 依赖打入 WAR 包中。
2. 在 Spring Boot 项目的入口类中,继承 `SpringBootServletInitializer` 类,并重写 `configure` 方法:
```
public class MyApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MyApplication.class);
}
}
```
这样,Spring Boot 项目就可以被外部的 Tomcat 容器识别。
3. 将 WAR 包放到 Tomcat 容器的 `webapps` 目录下,并启动 Tomcat。
```
$ cp myapp.war /path/to/tomcat/webapps/
$ /path/to/tomcat/bin/startup.sh
```
Tomcat 会自动解压 WAR 包,并将其部署为 Web 应用程序。
4. 访问应用程序。
```
http://localhost:8080/myapp/
```
注意,应用程序的上下文路径是 `myapp`,这是 WAR 包的文件名(去掉扩展名)。
以上就是将内嵌 Tomcat 的 Spring Boot 项目部署到外部 Tomcat 容器的步骤。
阅读全文