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

前言:当咱们使用Spring Boot编写了一个批处理应用程序,该程序只是用于后台跑批数据,此时不须要内嵌的tomcat,简化启动方式使用非web方式启动项目,步骤以下:

 

一、修改pom.xml文件

在pom.xml文件中去除内嵌tomcat,添加servlet依赖html

       <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>    

 

二、设置打包方式

在pom.xml文件中将打项目包方式设置成jar,打成jar包经过命令去执行jarjava

<packaging>jar</packaging>

 

三、禁用web程序启动方式

对于非Web应用程序,请在属性文件中禁用Web应用程序类型,application.yml文件中添加:web

spring:
    main:
      web-application-type: none

 

四、在启动类中扩展

继承SpringBootServletInitializer 类,如下本人写了一个测试方法,项目启动后生成一个txt文件进行测试spring

@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("文件建立失败============");
        }
    }

}

 

五、实列测试结果

由此咱们能够经过java -jar 运行打包后的项目jar,控制台显示Spring Boot启动标志,项目正常启动,文件也正常建立成功,大功告成!api

 

 

文章参考:点我点我点我tomcat

 

我的总结:

我是南国以南i记录点滴天天成长一点点,学习是永无止境的!转载请附原文连接!!!app

相关文章
相关标签/搜索