1. 程式人生 > 其它 >SpringBoot專案打war包,部署伺服器

SpringBoot專案打war包,部署伺服器

Spring Boot由於內嵌瞭如Tomcat,Jetty和Undertow這樣的容器,也就是說可以直接跑起來,用不著再像Spring專案還需要外接的Tomcat等容器來進行部署工作了,通過啟動啟動類就可以建立獨立的Spring應用程式。Spring Boot部署在伺服器上主要分為兩種方式:一是打成jar包釋出,二是打成war包釋出,第一種方式只需要在該伺服器中執行java -jar+部署專案的名稱就可以啟動(不要忘了.jar字尾名),操作比較簡單,第二種方式操作比較複雜一點,並且是專案釋出的常用打包方法,本編部落格主要說明打成war包的方式如何部署到伺服器中。

一、pom.xml檔案配置
    
1.第三步將打包的方式改成war包: <packaging>war</packaging> 2.第一步我們需要移除Spring Boot專案中內建的tomcat容器,並配置外部的tomcat容器: <!-- SpringBoot Web容器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <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> 3.第二步新增servlet依賴:
<!--servlet API依賴--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> 4.第四步修改打包的專案名稱,使用build標籤下的finalName標籤修改:
<build> <finalName>ROOT</finalName> </build>
二、Spring Boot啟動類配置(該配置有兩種方式):
1.第一種實現方式,啟動類繼承SpringBootServletInitializer類並重寫configure方法:
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class,scanBasePackages = "com.fc.v2")
public class V2Application extends SpringBootServletInitializer{

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意這裡要指向原先用main方法執行的Application啟動類
        return builder.sources(V2Application.class);
    }
    
    public static void main(String[] args) {

        SpringApplication.run(V2Application.class, args);
        System.out.println("( 啟動成功!)");
    }

}

2.第二種實現方式,新建一個類繼承SpringBootServletInitializer類並重寫configure方法:(注意:該類要放在與啟動類一致的目錄下)
public class V2WebInitializer  extends SpringBootServletInitializer{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
    {
        return application.sources(V2Application.class);
    }
}
三、打包釋出
    idea工具中,將要部署的專案打war包,前邊已經設定打包名,ROOT.war;通過filezilla或者WinSCP類似工具將war包放在tomcat的webapp目錄下,將該目錄下的檔案刪完在放,用ROOT命名的好處是,只需要IP+埠號+專案首頁路徑 即可,不需要專案名
   如果第一步中build中的finalName為專案名,部署好訪問路徑就多個專案名稱