本文采用建立可執行jar的方式啓動SpringBoot項目。html
<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的區別:java
- package將會編譯代碼,並打包,最終按照maven規定的packaging方式打包,最終輸出到目標目錄中。
- 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.jar
和fireworks.jar.original
。spring
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
這裏使用winSCP,不管使用哪一種工具,只要可以將文件上傳到遠程服務器上就能夠。apache
nohup java -jar fireworks-0.0.1-SNAPSHOT.jar & # 後臺啓動jar
注:若是以前啓動過項目,記得將原先那個進程關閉:springboot
ps -ef|grep java kill -9 pid