SpringBoot項(xiàng)目實(shí)現(xiàn)jar包方式打包部署
傳統(tǒng)的Web應(yīng)用進(jìn)行打包部署,通常會(huì)打成war包形式,然后將War包部署到Tomcat等服務(wù)器中。
在Spring Boot項(xiàng)目在開(kāi)發(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)行,無(wú)需部署到外部的Servlet容器中。
雖然Spring Boot也支持打包成WAR文件并部署到外部的Servlet容器中,但這種方式通常不是首選,因?yàn)樗黾恿祟~外的部署復(fù)雜性,并且可能無(wú)法充分利用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)來(lái)優(yōu)化編譯過(guò)程。主要作用:
- 指定JDK版本:可以明確指定項(xiàng)目源代碼所使用的JDK版本,以及編譯后的類庫(kù)擬運(yùn)行的JVM版本,從而確保項(xiàng)目在不同環(huán)境中的一致性和穩(wěn)定性。
- 設(shè)置編碼方式:允許設(shè)置源代碼和目標(biāo)代碼的編碼方式,以防止因編碼不一致而導(dǎo)致的編譯錯(cuò)誤或亂碼問(wèn)題。
- 優(yōu)化編譯過(guò)程:可以對(duì)編譯過(guò)程進(jìn)行細(xì)粒度的控制。例如,可以設(shè)置是否使用增量編譯、是否生成調(diào)試信息等,以提高編譯效率和代碼質(zhì)量。
spring-boot-maven-plugin是一個(gè)用于Spring Boot項(xiàng)目的Maven插件,它在項(xiàng)目的構(gòu)建和打包過(guò)程中發(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開(kāi)發(fā)工具打包
打開(kāi)maven窗口,在Lifecycle列中,雙擊package打包項(xiàng)目

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

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

3、Jar 包方式部署
打開(kāi)jar文件所在目錄,然后打開(kāi)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)文章
mybatis的association傳遞參數(shù)問(wèn)題示例
這篇文章主要介紹了mybatis的association傳遞參數(shù)問(wèn)題,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
SpringBoot+docker環(huán)境變量配置詳解
這篇文章主要介紹了SpringBoot+docker環(huán)境變量配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
關(guān)于Spring的@Autowired依賴注入常見(jiàn)錯(cuò)誤的總結(jié)
有時(shí)我們會(huì)使用@Autowired自動(dòng)注入,同時(shí)也存在注入到集合、數(shù)組等復(fù)雜類型的場(chǎng)景。這都是方便寫 bug 的場(chǎng)景,本篇文章帶你了解Spring @Autowired依賴注入的坑2021-09-09
Java用自定義的類作為HashMap的key值實(shí)例
下面小編就為大家?guī)?lái)一篇Java用自定義的類作為HashMap的key值實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12
使用Springboot打成jar包thymeleaf的問(wèn)題
這篇文章主要介紹了使用Springboot打成jar包thymeleaf的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
java中struts2實(shí)現(xiàn)簡(jiǎn)單的文件上傳與下載
這篇文章主要為大家詳細(xì)介紹了java中struts2實(shí)現(xiàn)簡(jiǎn)單的文件上傳與下載的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-05-05

