1. 程式人生 > >Spring-boot打war包部署到tomcat

Spring-boot打war包部署到tomcat

1、maven專案,修改pom包

<packaging>jar</packaging>  

改為

<packaging>war</packaging>

2、打包時排除tomcat.

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
	<groupId>
org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>

在這裡將scope屬性設定為provided,這樣在最終形成的WAR中不會包含這個JAR包,因為Tomcat或Jetty等伺服器在執行時將會提供相關的API類。

3、註冊啟動類

建立ServletInitializer.java,繼承SpringBootServletInitializer ,覆蓋configure(),把啟動類Application註冊進去。外部web應用伺服器構建Web Application Context的時候,會把啟動類新增進去。

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

最後執行,注意必須進到專案所在目錄,與 pom.xml 檔案同級

mvn clean package  -Dmaven.test.skip=
true

會在target目錄下生成:專案名+版本號.war檔案,拷貝到tomcat webapps目錄中啟動即可。

啟動時專案名為war包檔名,如 spring-boot-mybatis-mulidatasource-1.0.0.war,訪問時就是這樣:


部署成功訪問如上圖。

參考連結:http://www.ityouknow.com/springboot/2017/05/09/springboot-deploy.html