SpringBoot發佈到獨立的Tomcat中運行

大家在使用SpringBoot的時候會發現它是基於Tomcat的,然後可以使用啓動類直接運行main函數一樣啓動。那麼怎麼把它發佈到獨立的Tomcat中執行呢? 啓動很簡單輕鬆配置幾下即可。

一:修改打包方式

<packaging>war</packaging>

二:由於SpringBoot默認嵌入了Tomcat,所以需要把它消除掉

               <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>
				<exclusion>
					<artifactId>log4j-over-slf4j</artifactId>
					<groupId>org.slf4j</groupId>
				</exclusion>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-tomcat</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>

三:集成SpringBootServletInitializer,然後重寫configure,將Spring Boot的啓動類設置進去。

@SpringBootApplication
@ComponentScan (basePackages = "com.zz")
public class App extends SpringBootServletInitializer {

    protected SpringApplicationBuilder configure (SpringApplicationBuilder builder) { // 設置啓動類,用於獨立tomcat運行的入口
        return builder.sources (App.class);
    }

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

四:打WAR包


當然也可以用maven命令打包,我就不一一列出了。

五:測試(把打好包直接丟入tomcat webapps目錄下然後啓動就可以了


啓動成功圖


請求URL:  http://ip:port/[打成的war包的名稱]/方法路徑或者頁面路徑。

方法定義


瀏覽器請求該方法


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