SpringBoot項目,放到外置Tomcat運行的操作步驟

SpringBoot項目是自帶tomcat服務器的,使用的時候通過SpringBoot框架啓動類的main函數來啓動。

但如果我們要使用外置tomcat的話,如果是直接把SpringBoot項目添加到tomcat的webapps目錄下,是沒辦法運行成功的。

 

1、修改pom.xml文件中打包方式爲war

    <groupId>com.wn.sb</groupId>
    <artifactId>SB</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

 

2、移除SpringBoot框架內置的tomcat

 

        <!-- 導入web組件啓動器,版本隨父工程 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!-- 移除嵌入式tomcat插件 -->
             <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>Spring-boot-start-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

 

3、修改SpringBoot的啓動類

修改SpringBoot的啓動類,使其繼承SpringBootServletInitializer類,並重寫其中的configure方法

修改前:

package com.wn.sb;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan(value = "com.wn.sb.mapper")
public class Application {

    public static void main (String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

 修改後:

package com.wn.sb;

import org.mybatis.spring.annotation.MapperScan;
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
@MapperScan(value = "com.wn.sb.mapper")
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意:這裏要指向SpringBoot的引導類
        return builder.sources(Application.class);
    }

    public static void main (String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章