天天看點

springboot+maven+idea打包及部署到tomcat伺服器(騰訊雲)

說明:我項目使用的是JDK1.8+springboot内置tomcat,騰訊雲伺服器為window系列。已經嘗試過打包成功且部署到伺服器上。

如果你的版本和我的不一樣,那麼不能保證一定成功。

打包前注意:

     (1)第一步,首先保證你的項目本機上是可以跑起來運作的。

     (2)關于項目中關聯的一些資料庫,和絕對路徑的配置,確定在伺服器中能夠連接配接得上以及路徑能夠通路。

     (3)伺服器中的tomcat要求9.0版本,别的版本會報錯,原因我會在下面講。

     (4)項目開發時JDK用什麼版本伺服器就用什麼版本。

        確定以上4點,是我們部署成功的關鍵。

開始步驟:

1、在pom.xml中如果要打war包,必須加上該行代碼。

<packaging>war</packaging>

如下圖所示:

springboot+maven+idea打包及部署到tomcat伺服器(騰訊雲)

2、pom.xml中繼續加入以下代碼:該代碼用于spring boot中内嵌的tomcat包依賴排除,不然會産生沖突。

<exclusions>
   <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
   </exclusion>
</exclusions>
           

具體位置如下圖:

springboot+maven+idea打包及部署到tomcat伺服器(騰訊雲)

3、pom.xml中繼續加入以下依賴:該代碼用于開發時使用spring boot内嵌tomcat進行調試,生産時使用外部tomcat

scope裡的provided意思是隻用于開發及測試階段。

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

具體位置如下圖:

springboot+maven+idea打包及部署到tomcat伺服器(騰訊雲)

4、找到項目中的application 然後讓該類繼承SpringBootServletInitializer,然後重寫configure方法

@Override
     protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(你項目的apprication類名.class);
    }
           

如下圖所示:

springboot+maven+idea打包及部署到tomcat伺服器(騰訊雲)

到這裡,目前項目中需要打包配置的步驟已經完成,接下來進行打包

1、點選idea右邊的maven-》你的項目名-》Lifecycle-》輕按兩下package

springboot+maven+idea打包及部署到tomcat伺服器(騰訊雲)

點選運作控制台會列印打包的過程資訊,主要看最後是不是顯示成功。如果成功,說明前面步驟沒問題。

如果失敗了,那麼請再次檢查上面的步驟以及注意的事項。

springboot+maven+idea打包及部署到tomcat伺服器(騰訊雲)

2、如下圖打開target,打好的包就在該目錄下,名稱為項目名-0.0.1-SNAPSHOT.war,首先把名字改一下,改成ROOT.war,

改名字為ROOT主要是不用打項目名,在伺服器上測試直接可以localhost加端口号加你的項目登入路徑就能打開系統頁面。

我們祭出ctrl+c,ctrl+v大法把該war包放到桌面,再移動到騰訊雲伺服器的tomcat中去。

springboot+maven+idea打包及部署到tomcat伺服器(騰訊雲)

包已經打好,那麼我們接下來到伺服器的tomcat中操作

  首先一定要確定tomcat可以正常啟動

1、将war包移動到騰訊雲伺服器tomcat目錄下的webapps中,不需要解壓,不需要任何操作。

      如果webapps目錄中有ROOT檔案夾,删除即可。

2、啟動tomcat

現在解釋為什麼一定要tomcat9.0版本,因為我們的war包中預設打的tomcat的lib包為9.0版本

如果我們嘗試放在tomcat别的版本上,啟動tomcat控制台就會報各種異常。

如圖所示:

springboot+maven+idea打包及部署到tomcat伺服器(騰訊雲)

按道理是可以改版本的,但是由于太懶,是以沒去找解決方案。。。

最後跑完看一下控制台,看看是否有報錯,然後在伺服器的本地上進行測試吧。

如果改名字為ROOT.war,在伺服器上測試直接可以localhost+端口号+你的項目登入路徑就能打開系統頁面。

如:localhost:8080/sys/login

如果沒改名字,還是原來項目名.war,在伺服器上測試直接可以localhost+端口号+你的項目名+登入路徑就能打開系統頁面。

如:localhost:8080/項目名/sys/login

如果你們伺服器上測試也沒問題了,那麼就要公網測試了,這個就不多說了,伺服器能跑起來公網的問題其實注意兩點就行

1、騰訊雲注意安全組開放端口,這裡建議開放80端口的那個選項,然後把該伺服器添加到安全組中,之後把tomcat的端口改成80。

2、安全組開放了之後有可能還不能公網通路,那麼就是防火牆的問題了,把防火牆關閉即可。

繼續閱讀