SpringBoot取消内置Tomcat启动,改用外接Tomcat呢?

欣喜 SpringBoot 发布时间:2025-02-20 10:27:04 阅读数:17420 1
在日常开发中,我们有时候不想使用SpringBoot自带的Tomcat,那么在SpringBoot中,如何使用外部Tomcat服务器呢?下文笔者将一一道来,如下所示

SpringBoot取消内置Tomcat,启用外部Tomcat的实现思路

1.在pom.xml中移除Tomcat的依赖

2.添加 Servlet API依赖 ,并设置为provided(可避免打包时,打包进war包中)

3.打包为WAR文件

4.配置Spring Boot应用程序为WAR部署

5.maven 构建 WAR 包

6.部署 WAR包到 Tomcat中 
例:SpringBoot取消内置服务器,使用外部Tomcat服务器的示例
1.移除内置Tomcat依赖
   需要排除Spring Boot默认的Tomcat依赖
     在`spring-boot-starter-web`中引入
	 可在`pom.xml`中进行如下配置:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

2.添加`provided`范围的Servlet API依赖
  添加此依赖,
    主要确保编译时能够识别Servlet API
	  需添加一个`provided`范围Servlet API依赖
	   这可以防止Servlet API被包含在最终的WAR文件中
	   
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>

3.打包为WAR文件
   Spring Boot应用程序需要被打包为WAR文件才能部署到外部的Tomcat服务器
    你需要在`pom.xml`中将打包类型设置为`war`
   <packaging>war</packaging>

4.配置Spring Boot应用程序为WAR部署
   为了保证Spring Boot应用程序能够正确部署为WAR文件
    你需要继承`SpringBootServletInitializer`类
	 并重写`configure`方法

例:
	import org.springframework.boot.SpringApplication;
	import org.springframework.boot.autoconfigure.SpringBootApplication;
	import org.springframework.boot.builder.SpringApplicationBuilder;
	import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

	@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);
		}
	}

5.构建WAR文件
   使用Maven构建WAR文件
   
    mvn clean package
   
    使用以上maven构建完成后
	  在`target`目录下找到生成的WAR文件

6.部署WAR文件到外部Tomcat
    将生成WAR文件复制到外部Tomcat服务器`webapps`目录中
	  Tomcat会自动解压并部署WAR文件
	  
例: 
    cp target/my-test.war /path/to/tomcat/webapps/


7.启动外部Tomcat
   启动外部Tomcat服务器:
    /path/to/tomcat/bin/startup.sh

8.验证部署
   打开浏览器
     访问你的应用程序
	  确保它正常运行
   例:
    如果Tomcat运行在默认端口8080
	 且你应用上下文路径为`my-test`
	  可访问:
       http://localhost:8080/my-test
使用以上的方法
   可成功地将Spring Boot应用程序
    从内置的Tomcat切换到外部的Tomcat服务器
	 以下是关键步骤的总结

		1.移除内置Tomcat依赖
		2.添加`provided`范围Servlet API依赖
		3.将打包类型设置为`war`
		4.配置Spring Boot应用程序为WAR部署
		5.构建WAR文件
		6.部署WAR文件到外部Tomcat
		7.启动外部Tomcat
		8.验证部署
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/SpringBoot/202502/8311.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者