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

相關文章
相關標籤/搜索