浅沫记忆 发表于 2021-9-11 22:48:05

Spring Boot如何移除内嵌Tomcat,使用非web方式启动

这篇文章主要介绍了Spring Boot如何移除内嵌Tomcat,使用非web方式启动,帮助大家更好的理解和学习使用spring boot框架,感兴趣的朋友可以了解下
前言:当我们使用Spring Boot编写了一个批处理应用程序,该程序只是用于后台跑批数据,此时不需要内嵌的tomcat,简化启动方式使用非web方式启动项目,步骤如下:
1、修改pom.xml文件
在pom.xml文件中去除内嵌tomcat,添加servlet依赖


<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <exclusions>
      <!--去除内嵌tomcat -->
      <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-tomcat</artifactId>
      </exclusion>
      </exclusions>
    </dependency>
    <!--添加servlet的依赖-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>compile</scope>
    </dependency>
2、设置打包方式
在pom.xml文件中将打项目包方式设置成jar,打成jar包通过命令去执行jar


<packaging>jar</packaging>
3、禁用web程序启动方式
对于非Web应用程序,请在属性文件中禁用Web应用程序类型,application.yml文件中添加:


spring:
main:
   web-application-type: none
4、在启动类中扩展
继承SpringBootServletInitializer 类,以下本人写了一个测试方法,项目启动后生成一个txt文件进行测试


@SpringBootApplication
public class TestiopojApplication extends SpringBootServletInitializer {

public static void main(String[] args) {
    System.out.println("项目开始启动,开始执行任务============");
    SpringApplication.run(TestiopojApplication.class, args);
    String file = "E:\\copyFile";//文件存放路径
    String fileName = "test测试";//生成的文件名
    String strContext = "测试成功=======";//文件内容
    try {
      FileUtils.writeStringToFile((new File(file + File.separator + fileName + ".txt")), strContext, "UTF-8");
      System.out.println("文件创建成功============");
    } catch (IOException e) {
      System.out.println("文件创建失败============");
    }
}

}
5、实列测试结果
由此我们可以通过java -jar 运行打包后的项目jar,控制台显示Spring Boot启动标志,项目正常启动,文件也正常创建成功,大功告成

以上就是Spring Boot如何移除内嵌Tomcat,使用非web方式启动的详细内容,更多关于Spring Boot移除内嵌Tomcat的资料请关注CodeAE代码之家其它相关文章!
原文链接:https://www.cnblogs.com/bgyb/p/14452396.html

http://www.zzvips.com/article/184006.html
页: [1]
查看完整版本: Spring Boot如何移除内嵌Tomcat,使用非web方式启动