SpringBoot項目打包為JAR文件的實現(xiàn)
一、為什么打包
在項目開發(fā)完成后,我們通常會將前后端應(yīng)用打包,并部署到服務(wù)器上進(jìn)行運(yùn)行。過去,Java Web 應(yīng)用在使用 Spring Boot 之前,通常是打包成 WAR 包,并結(jié)合 Tomcat 進(jìn)行部署。然而,對于 Spring Boot,官方推薦將其應(yīng)用打包成一個 fat jar(即 Spring Boot 默認(rèn)的打包方式)。這種 fat jar 包含了項目所有的依賴 jar 包,并且將 Tomcat 內(nèi)置在其中。因此,在部署 Spring Boot 應(yīng)用時,無需單獨配置 Tomcat,也不需要預(yù)先安裝任何服務(wù)器,只需簡單地上傳 jar 包即可。
這種方式極大地簡化了部署過程,讓開發(fā)者可以更專注于業(yè)務(wù)邏輯的實現(xiàn),而不必花費(fèi)過多的時間在環(huán)境配置上。
二、如何打包
方法一:使用IDEA進(jìn)行打包
1.打開項目,右擊項目選中Open Module Settings進(jìn)入project Structure,如下圖所示:

選中Artifacts,點擊中間的加號(Project Settings->Artifacts->JAR->From modules with dependencies ),如下圖所示:

2.彈出Create JAR from Modules,選擇‘Main Class’,然后點擊OK

3.開始打包,點擊右側(cè)的Maven Projects,打開LIfecycle,先點擊clean,再點擊package,生成target文件夾,里面有以項目名命名加版本號的jar文件,至此打包完成。

方法二:使用maven進(jìn)行打包
SpringBoot自帶一個更簡單的spring-boot-maven-plugin插件可以用來打包,只需要在pom.xml中加入以下配置:
<project>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
無需任何配置,這個插件會自動定位應(yīng)用程序的入口Class,執(zhí)行以下Maven命令即可打包:
$ mvn clean package
三、運(yùn)行jar包
進(jìn)入jar所在的文件夾,使用java -jar命令運(yùn)行jar,項目就能啟動
java -jar demoa-0.0.1-SNAPSHOT.jar

四、注意
因為springboot內(nèi)置了tomcat,所以springboot項目打包成jar可以免去tomcat的配置,如果是打包成war包,則還需要配置tomcat。
打包后在target目錄下有兩個jar文件,其中有一個jar包后綴為
.original,這是Maven標(biāo)準(zhǔn)打包插件打的jar包,它只包含我們自己的Class,不包含依賴,而后綴為.jar的是SpringBoot打包插件創(chuàng)建的包含依賴的jar,可以直接運(yùn)行。
到此這篇關(guān)于SpringBoot項目打包為JAR文件的實現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot打包為JAR文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java環(huán)境變量的配置方法圖文詳解【win10環(huán)境為例】
這篇文章主要介紹了java環(huán)境變量的配置方法,結(jié)合圖文形式詳細(xì)分析了win10環(huán)境下java環(huán)境變量的配置方法與相關(guān)操作注意事項,需要的朋友可以參考下2020-04-04
Java 基礎(chǔ):string中的compareTo方法
這篇文章主要介紹了Java 基礎(chǔ):string中的compareTo方法,文章圍繞string中的compareTo方法的相關(guān)資料展開文章詳細(xì)內(nèi)容,希望對待大家有所幫助2021-12-12
使用SpringBoot與Thrift實現(xiàn)RPC通信的方式詳解
在微服務(wù)架構(gòu)的世界里,服務(wù)間的通信機(jī)制選擇成為了關(guān)鍵決策之一,RPC因其簡潔、高效的特點備受青睞,本文將詳細(xì)探討如何利用Spring?Boot和Thrift框架構(gòu)建RPC通信,讓讀者理解其內(nèi)在原理及實現(xiàn)方式,需要的朋友可以參考下2023-10-10
SpringCloud hystrix服務(wù)降級概念介紹
什么是服務(wù)降級?當(dāng)服務(wù)器壓力劇增的情況下,根據(jù)實際業(yè)務(wù)情況及流量,對一些服務(wù)和頁面有策略的不處理或換種簡單的方式處理,從而釋放服務(wù)器資源以保證核心交易正常運(yùn)作或高效運(yùn)作2022-09-09
Spring Boot集成kubernetes客戶端實現(xiàn)API操作k8s集群的方案
Kubernetes是一個開源的容器編排平臺,可以自動化在部署、管理和擴(kuò)展容器化應(yīng)用過程中涉及的許多手動操作,這篇文章主要介紹了Spring Boot集成kubernetes客戶端實現(xiàn)API操作k8s集群,需要的朋友可以參考下2024-08-08
Java HttpClient-Restful工具各種請求高度封裝提煉及總結(jié)
這篇文章主要介紹了Java HttpClient-Restful工具各種請求高度封裝提煉及總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10

