SpringBoot項目打war包,部署服務器

Spring Boot因爲內嵌瞭如Tomcat,Jetty和Undertow這樣的容器,也就是說能夠直接跑起來,用不着再像Spring項目還須要外置的Tomcat等容器來進行部署工做了,經過啓動啓動類就能夠創建獨立的Spring應用程序。Spring Boot部署在服務器上主要分爲兩種方式:一是打成jar包發佈,二是打成war包發佈,第一種方式只須要在該服務器中運行java -jar+部署項目的名稱就能夠啓動(不要忘了.jar後綴名),操做比較簡單,第二種方式操做比較複雜一點,而且是項目發佈的經常使用打包方法,本編博客主要說明打成war包的方式如何部署到服務器中。java

1、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>
2、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);
    }
}
3、打包發佈
    idea工具中,將要部署的項目打war包,前邊已經設置打包名,ROOT.war;經過filezilla或者WinSCP相似工具將war包放在tomcat的webapp目錄下,將該目錄下的文件刪完在放,用ROOT命名的好處是,只須要IP+端口號+項目首頁路徑 便可,不須要項目名
   若是第一步中build中的finalName爲項目名,部署好訪問路徑就多個項目名稱
相關文章
相關標籤/搜索