springboot項(xiàng)目打包成jar包的圖文教程
一、為什么打包
項(xiàng)目開(kāi)發(fā)完畢后會(huì)將前后端應(yīng)用打包,然后部署到服務(wù)器上運(yùn)行。Java Web應(yīng)用在Spring Boot之前,通常是打包成war包,結(jié)合Tomcat來(lái)完成部署。而對(duì)于SpringBoot,官方的建議是將Spring Boot應(yīng)用打包成一個(gè)fat jar(SpringBoot默認(rèn)打包方式),即項(xiàng)目的依賴jar包也會(huì)被包含在Spring Boot項(xiàng)目的jar包當(dāng)中,這個(gè)fat jar會(huì)把Tomcat內(nèi)置進(jìn)來(lái),所以部署時(shí)也不需要單獨(dú)配置Tomcat。這樣部署一個(gè)SpringBoot應(yīng)用就非常簡(jiǎn)單,無(wú)需預(yù)裝任何服務(wù)器,只需要上傳jar包即可。
二、如何打包
(1)使用IDEA進(jìn)行打包
1.打開(kāi)項(xiàng)目,右擊項(xiàng)目選中Open Module Settings進(jìn)入project Structure,如下圖所示:

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

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

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

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

四、注意
因?yàn)閟pringboot內(nèi)置了tomcat,所以springboot項(xiàng)目打包成jar可以免去tomcat的配置,如果是打包成war包,則還需要配置tomcat。
打包后在target目錄下有兩個(gè)jar文件,其中有一個(gè)jar包后綴為.original,這是Maven標(biāo)準(zhǔn)打包插件打的jar包,它只包含我們自己的Class,不包含依賴,而后綴為.jar的是SpringBoot打包插件創(chuàng)建的包含依賴的jar,可以直接運(yùn)行。
到此這篇關(guān)于springboot項(xiàng)目打包成jar包的文章就介紹到這了,更多相關(guān)springboot項(xiàng)目打包jar內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot項(xiàng)目jar和war打包部署方式詳解
- Springboot打包成jar發(fā)布的操作方法
- SpringBoot程序打包失敗(.jar中沒(méi)有主清單屬性)
- SpringBoot?如何將項(xiàng)目打包成?jar?包
- springboot打包jar中沒(méi)有主清單屬性問(wèn)題
- IDEA在SpringBoot項(xiàng)目使用Maven打包后jar包太小問(wèn)題及解決
- Springboot項(xiàng)目打包如何將依賴的jar包輸出到指定目錄
- SpringBoot項(xiàng)目實(shí)現(xiàn)jar包方式打包部署
- SpringBoot項(xiàng)目打包為JAR文件的實(shí)現(xiàn)
相關(guān)文章
IntelliJ IDEA 刷題利器 LeetCode 插件詳解
這篇文章主要介紹了IntelliJ IDEA 刷題利器 LeetCode 插件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Java實(shí)現(xiàn)n位數(shù)字的全排列
今天小編就為大家分享一篇關(guān)于Java實(shí)現(xiàn)n位數(shù)字的全排列,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
javaWeb用戶權(quán)限控制簡(jiǎn)單實(shí)現(xiàn)過(guò)程
這篇文章主要為大家詳細(xì)介紹了javaWeb用戶權(quán)限控制簡(jiǎn)單實(shí)現(xiàn)過(guò)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
Java靜態(tài)代理與動(dòng)態(tài)代理案例詳解
這篇文章主要介紹了Java靜態(tài)代理與動(dòng)態(tài)代理案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
SpringBoot 如何添加容器啟動(dòng)的初始化邏輯的操作方法
這篇文章主要介紹了SpringBoot 如何添加容器啟動(dòng)的初始化邏輯,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Spring Security內(nèi)存中認(rèn)證的實(shí)現(xiàn)
本文主要介紹了Spring Security內(nèi)存中認(rèn)證的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11
java動(dòng)態(tài)構(gòu)建數(shù)據(jù)庫(kù)復(fù)雜查詢教程
這篇文章主要介紹了java動(dòng)態(tài)構(gòu)建數(shù)據(jù)庫(kù)復(fù)雜查詢的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-11-11
SpringBoot過(guò)濾器實(shí)現(xiàn)項(xiàng)目?jī)?nèi)接口過(guò)濾詳解
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何利用過(guò)濾器實(shí)現(xiàn)項(xiàng)目?jī)?nèi)接口過(guò)濾,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-04-04

