1. 程式人生 > >SpringBoot的web專案啟動方式

SpringBoot的web專案啟動方式

第一種(本地開發使用)

在專案的根目錄下有一個帶有main函式的Application類,可以直接執行這個main函式。(使用的是SpringBoot內建的tomcat)

第二種(本地開發使用)

在pom檔案中配置使用啟動SpringBoot的maven外掛。配置如下

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

啟動的使用可以使用mvn spring-boot:run啟動,我用的是IDEA的maven外掛

第三種(線上部署使用)

使用maven工具打包(jar包),打包時要注意,由於模組與模組之間的依賴關係,所以打包是要有順序的,需要先打被依賴的模組;你也可以在父類模組上打一個包。我用的是IDEA工具開發。打包流程先開啟打包跳過測試,然後分別執行clean和install

還可以通過命令打包,先點選上圖中帶有小m的按鈕。要注意是否是選中的要打包的專案

打完包在你的專案用的target目錄下會有個一jar檔案

上傳到伺服器,然後執行java -jar命令啟動,你也可以在命令中加上JVM的優化引數和一些環境引數。我下面這個就加了環境引數,你也可以從這裡指定你啟動時的配置檔案,和指定日誌輸出檔案(需要特別注意:一定要在命令的最後加一個&符號,要不然,你Ctrl+C的時候專案會停掉,加上後意思是後臺啟動)

第四種方式(第三種的變種)

springboot中的maven外掛,提供了一種很方便的類似於shell的開啟、關閉、重啟服務的操作。而且這種啟動方式是讓專案在後臺執行的,關閉shell也不會使專案停止執行

1、首先,專案的pom新增下面的外掛,然後maven install

    <build>
          <plugins>
              <plugin>
                   <groupId>org.springframework.boot</groupId>
                   <artifactId>spring-boot-maven-plugin</artifactId>
                   <configuration>
                        <executable>true</executable>
                   </configuration>
              </plugin>
          </plugins>
     </build>

2.將打包好的springboot jar包放入到伺服器上,然後執行下面的命令

sudo ln -s  /usr/local/server/bms.jar  /etc/init.d/bms

前面是你伺服器上jar包路徑,後面是你啟動專案的名字

3、上述命令執行完全之後,通過下面的命令就可以啟動、關閉、重啟專案了

/etc/init.d/bms start  

/etc/init.d/bms stop

/etc/init.d/bms restart  

第五種方式(線上部署,使用外部Tomcat)

首先修改打包方式

<packaging>war</packaging>

2、移除springboot內建tomcat,新增測試tomcat依賴。。修改pom.xml檔案

          <dependency>
              <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-web</artifactId>
              <!-- 打包的時候以war包形式,這裡要把springboot整合的tomcat去除 -->
              <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、修改啟動類

在application的同目錄下,新增一個新的類,繼承SpringBootServletInitializer並重寫其configure方法

/**
 * 修改啟動類,繼承 SpringBootServletInitializer 並重寫 configure 方法
 */
publicclassSpringBootStartApplication extends SpringBootServletInitializer {
   @Override
   protectedSpringApplicationBuilder configure(SpringApplicationBuilderbuilder) {
       // 注意這裡要指向原先用main方法執行的Application啟動類
       returnbuilder.sources(BootStrap.class);
    }
}

4、將war包放到伺服器上的tomcat下,重啟即可。。。