SpringBoot項(xiàng)目實(shí)現(xiàn)jar包方式打包部署
傳統(tǒng)的Web應(yīng)用進(jìn)行打包部署,通常會(huì)打成war包形式,然后將War包部署到Tomcat等服務(wù)器中。
在Spring Boot項(xiàng)目在開發(fā)完成后,確實(shí)既支持打包成JAR文件也支持打包成WAR文件。然而,官方通常推薦將Spring Boot項(xiàng)目打包成JAR文件,這是因?yàn)镾pring Boot內(nèi)置了一個(gè)嵌入式的Tomcat服務(wù)器,使得應(yīng)用能夠作為一個(gè)獨(dú)立的可執(zhí)行JAR文件運(yùn)行,無需部署到外部的Servlet容器中。
雖然Spring Boot也支持打包成WAR文件并部署到外部的Servlet容器中,但這種方式通常不是首選,因?yàn)樗黾恿祟~外的部署復(fù)雜性,并且可能無法充分利用Spring Boot提供的一些自動(dòng)配置和簡(jiǎn)化功能。
1、插件完整配置
在pom.xml文件中添加配置
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version><!-- 配置中的版本號(hào) -->
<configuration>
<source>1.8</source><!-- 設(shè)置源代碼的JDK版本 -->
<target>1.8</target><!-- 設(shè)置目標(biāo)代碼的JDK版本 -->
<encoding>UTF-8</encoding><!-- 設(shè)置編碼方式 -->
</configuration>
</plugin>
<!--maven 打包插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.example.demo.DemoApplication</mainClass><!-- 配置啟動(dòng)類 -->
<skip>false</skip><!--是否忽略啟動(dòng)類-->
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
maven-compiler-plugin是Maven的一個(gè)插件,主要用于代碼編譯,并提供了很多可配置的選項(xiàng)來優(yōu)化編譯過程。主要作用:
- 指定JDK版本:可以明確指定項(xiàng)目源代碼所使用的JDK版本,以及編譯后的類庫擬運(yùn)行的JVM版本,從而確保項(xiàng)目在不同環(huán)境中的一致性和穩(wěn)定性。
- 設(shè)置編碼方式:允許設(shè)置源代碼和目標(biāo)代碼的編碼方式,以防止因編碼不一致而導(dǎo)致的編譯錯(cuò)誤或亂碼問題。
- 優(yōu)化編譯過程:可以對(duì)編譯過程進(jìn)行細(xì)粒度的控制。例如,可以設(shè)置是否使用增量編譯、是否生成調(diào)試信息等,以提高編譯效率和代碼質(zhì)量。
spring-boot-maven-plugin是一個(gè)用于Spring Boot項(xiàng)目的Maven插件,它在項(xiàng)目的構(gòu)建和打包過程中發(fā)揮著關(guān)鍵作用。主要作用:
打包可執(zhí)行JAR/WAR文件:該插件可以將Spring Boot應(yīng)用程序打包成一個(gè)可執(zhí)行的JAR或WAR文件。
指定執(zhí)行類:該插件可以指定要執(zhí)行的類,如果未指定也能夠自動(dòng)檢測(cè)項(xiàng)目中的main函數(shù),并啟動(dòng)Spring
Boot容器。
2、使用IDEA開發(fā)工具打包
打開maven窗口,在Lifecycle列中,雙擊package打包項(xiàng)目

Idea控制臺(tái)顯示打包成功

Idea項(xiàng)目target目錄生成Jar包

3、Jar 包方式部署
打開jar文件所在目錄,然后打開powerShell,執(zhí)行命令行:
java -jar .\qvtu-web04-0.0.1-SNAPSHOT.jar

到此這篇關(guān)于SpringBoot項(xiàng)目實(shí)現(xiàn)jar包方式打包部署的文章就介紹到這了,更多相關(guān)SpringBoot打包部署jar包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot2.x只需兩步快速整合log4j2的方法
這篇文章主要介紹了springboot2.x只需兩步快速整合log4j2的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Java Socket實(shí)現(xiàn)簡(jiǎn)易聊天室
這篇文章主要為大家詳細(xì)介紹了Java Socket實(shí)現(xiàn)簡(jiǎn)易聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
使用bitset實(shí)現(xiàn)毫秒級(jí)查詢(實(shí)例講解)
下面小編就為大家?guī)硪黄褂胋itset實(shí)現(xiàn)毫秒級(jí)查詢(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
SpringBoot整合Flowable實(shí)現(xiàn)工作流的詳細(xì)流程
Flowable是一個(gè)使用Java編寫的輕量級(jí)業(yè)務(wù)流程引擎,Flowable流程引擎可用于部署B(yǎng)PMN2.0流程定義,創(chuàng)建這些流程定義的流程實(shí)例,進(jìn)行查詢,訪問運(yùn)行中或歷史的流程實(shí)例與相關(guān)數(shù)據(jù),本文給大家介紹了如何使用SpringBoot整合Flowable快速實(shí)現(xiàn)工作流,需要的朋友可以參考下2025-06-06
java拋出異常后,后續(xù)代碼是否繼續(xù)執(zhí)行詳解
這篇文章主要給大家介紹了關(guān)于java拋出異常后,后續(xù)代碼是否繼續(xù)執(zhí)行詳?shù)南嚓P(guān)資料,在Java編程中,異常是當(dāng)程序執(zhí)行時(shí)遇到問題時(shí)拋出的一種特殊情況,需要的朋友可以參考下2023-07-07
BlockingQueue隊(duì)列處理高并發(fā)下的日志
這篇文章主要介紹了BlockingQueue隊(duì)列處理高并發(fā)下的日志示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
Java8需要知道的4個(gè)函數(shù)式接口簡(jiǎn)單教程
這篇文章主要介紹了Java?8中引入的函數(shù)式接口,包括Consumer、Supplier、Predicate和Function,以及它們的用法和特點(diǎn),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
SpringBoot Session共享實(shí)現(xiàn)圖解
這篇文章主要介紹了SpringBoot Session共享實(shí)現(xiàn)圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01

