SpringBoot項目部署到Linux服務器併發布

本篇要點

  • 介紹如何一步步將SpringBoot項目部署到遠程服務器上。

部署全流程

本文采用建立可執行jar的方式啓動SpringBoot項目。html

一、配置maven插件

<packaging>jar</packaging> <!--打成jar包 -->
	<build>
        <!--打成jar包的名稱-->
        <finalName>fireworks</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.5.RELEASE</version>
            </plugin>
            <plugin>
                <!--排除測試類對打包的干擾-->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>
        </plugins>
    </build>

二、mvn package或mvn install

mvn package 和 mvn install的區別:java

  1. package將會編譯代碼,並打包,最終按照maven規定的packaging方式打包,最終輸出到目標目錄中。
  2. install一樣也會編譯,並打包,但以後install還會將打好的包安裝在本地倉庫,供其餘項目使用。
# 執行mvn clean,移除以前的target目錄
mvn clean
# 切換到項目路徑下,執行mvn package指令
mvn package

# 輸出日誌
[INFO] --- maven-jar-plugin:3.2.0:jar (default-jar) @ fireworks ---
[INFO] Building jar: D:\Java_Project\firework2.0\target\fireworks.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.3.5.RELEASE:repackage (repackage) @ fireworks ---
[INFO] Replacing main artifact with repackaged archive
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

最終jar包輸出到D:\Java_Project\firework2.0\target\目錄下。進入該目錄,會發現存在兩個文件:fireworks.jarfireworks.jar.originalspring

  • fireworks.jar就是咱們所說的可執行的jar,包含已編譯的類和運行須要的全部jar依賴,若是你想看看裏面有啥,能夠經過以下命令:
$ jar tvf target/fireworks.jar
  • fireworks.jar.original比前者小的多,這是Maven在Spring Boot從新打包以前建立的原始jar文件,經過上面的命令,能夠看到裏面沒有運行須要的依賴,只包含咱們定義的類編譯後的.class文件。

所以,若是咱們想要啓動SpringBoot項目,須要使用可執行的jar,由於它具有全部的jar依賴,啓動命令以下:shell

$ java -jar fireworks.jar

三、將jar包上傳至遠程服務器

這裏使用winSCP,不管使用哪一種工具,只要可以將文件上傳到遠程服務器上就能夠。apache

四、在遠程服務器上執行jar包

nohup java -jar fireworks-0.0.1-SNAPSHOT.jar & # 後臺啓動jar

注:若是以前啓動過項目,記得將原先那個進程關閉:springboot

ps -ef|grep java
kill -9 pid

參考閱讀

相關文章
相關標籤/搜索