spring-boot中spring-boot-maven-plugin報(bào)紅錯(cuò)誤及解決
spring-boot-maven-plugin報(bào)紅錯(cuò)誤
項(xiàng)目場(chǎng)景
第一次創(chuàng)建springboot的時(shí)候,spring-boot-maven-plugin 爆紅
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> // 紅彤彤 <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
解決方案
1.在選擇創(chuàng)建Spring Initailizr項(xiàng)目時(shí),選擇spring-boot版本
2.忘記選擇版本號(hào)時(shí)(idea默認(rèn)2.5.4),在如下圖所示的地方加入version版本號(hào),要與spring-boot版本號(hào)一致哦~
再刷新一下pom.xml就ok了~
Maven插件spring-boot-maven-plugin
應(yīng)用背景
直接使用maven自帶的package打包功能,在打Jar包的時(shí)候,不會(huì)將該項(xiàng)目所依賴的Jar包一起打進(jìn)去,在使用“java -jar”命令啟動(dòng)項(xiàng)目時(shí)會(huì)報(bào)錯(cuò),項(xiàng)目無法正常啟動(dòng)。
這個(gè)時(shí)候,我們就可以考慮引用spring-boot-maven-plugin插件來為項(xiàng)目打Jar包。
spring-boot-maven-plugin:使用此插件在打Jar包時(shí)會(huì)引入依賴包
maven項(xiàng)目的pom.xml中,添加了下述插件,當(dāng)運(yùn)行“maven package”進(jìn)行打包時(shí),會(huì)打包成一個(gè)可以直接運(yùn)行的JAR文件,使用“java -jar”命令就可以直接運(yùn)行。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.5.5</version> </plugin> </plugins> </build>
一般的maven項(xiàng)目的打包命令,在打Jar包時(shí)不會(huì)把依賴的jar包也打包進(jìn)去,但是spring-boot-maven-plugin插件,會(huì)將依賴的jar包全部打包進(jìn)去。
例如下面這個(gè)使用spring-boot-maven-plugin插件打包生成的jar包的BOOT/INF/lib目錄下面就包含了所有依賴的jar包:
如果沒有使用spring-boot-maven-plugin插件打包的話,那么它的目錄結(jié)構(gòu)是:
對(duì)于使用上述spring-boot-maven-plugin插件打包生成的包,可直接使用下述命令啟動(dòng)項(xiàng)目
java -jar xxx.jar
特別說明
引入了spring-boot-maven-plugin插件后,在使用打包功能時(shí)會(huì)將mvn package 生成的 jar或者war 重新打包成可執(zhí)行文件,同時(shí)修改原文件名,增加.origin 后綴。
如果項(xiàng)目需要打包為war包,則其實(shí)不需要引入該插件,maven原生自帶的package插件就已經(jīng)可以滿足。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring mvc4.1.6 spring4.1.6 hibernate4.3.11 mysql5.5.25開發(fā)環(huán)境搭
這篇文章主要介紹了spring mvc4.1.6 + spring4.1.6 + hibernate4.3.11+mysql5.5.25開發(fā)環(huán)境搭建圖文教程,需要的朋友可以參考下2016-06-06Java開發(fā)中常用的 Websocket 技術(shù)參考
WebSocket 使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡(jiǎn)單,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù),當(dāng)然也支持客戶端發(fā)送數(shù)據(jù)到服務(wù)端。2020-09-09java 對(duì)象輸入輸出流讀寫文件的操作實(shí)例
這篇文章主要介紹了java 對(duì)象輸入輸出流讀寫文件的操作實(shí)例的相關(guān)資料,這里使用實(shí)現(xiàn)Serializable接口,需要的朋友可以參考下2017-07-07解讀springboot配置mybatis的sql執(zhí)行超時(shí)時(shí)間(mysql)
這篇文章主要介紹了解讀springboot配置mybatis的sql執(zhí)行超時(shí)時(shí)間(mysql),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01SpringCloud中的Eureka注冊(cè)中心詳細(xì)解讀
這篇文章主要介紹了SpringCloud中的Eureka注冊(cè)中心詳細(xì)解讀,想要參與服務(wù)注冊(cè)發(fā)現(xiàn)的實(shí)例首先需要向Eureka服務(wù)器注冊(cè)信息,注冊(cè)在第一次心跳發(fā)生時(shí)提交,需要的朋友可以參考下2023-11-11Springmvc如何實(shí)現(xiàn)向前臺(tái)傳遞數(shù)據(jù)
這篇文章主要介紹了Springmvc如何實(shí)現(xiàn)向前臺(tái)傳遞數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07手把手教你在eclipse創(chuàng)建第一個(gè)java?web項(xiàng)目并運(yùn)行
Eclipse是用來做開發(fā)的自由集成開發(fā)環(huán)境,這也是很多java程序員會(huì)使用的開發(fā)環(huán)境,所以可以使用eclipse創(chuàng)建javaweb項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于如何在eclipse創(chuàng)建第一個(gè)java?web項(xiàng)目并運(yùn)行的相關(guān)資料,需要的朋友可以參考下2023-02-02