Spring Boot如何移除內嵌Tomcat,使用非web方式啟動

前言:當我們使用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的資料請關註WalkonNet其它相關文章!

推薦閱讀: