spring-boot中spring-boot-maven-plugin報紅錯誤及解決
spring-boot-maven-plugin報紅錯誤
項目場景
第一次創(chuàng)建springboot的時候,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項目時,選擇spring-boot版本

2.忘記選擇版本號時(idea默認2.5.4),在如下圖所示的地方加入version版本號,要與spring-boot版本號一致哦~

再刷新一下pom.xml就ok了~
Maven插件spring-boot-maven-plugin
應(yīng)用背景
直接使用maven自帶的package打包功能,在打Jar包的時候,不會將該項目所依賴的Jar包一起打進去,在使用“java -jar”命令啟動項目時會報錯,項目無法正常啟動。
這個時候,我們就可以考慮引用spring-boot-maven-plugin插件來為項目打Jar包。
spring-boot-maven-plugin:使用此插件在打Jar包時會引入依賴包
maven項目的pom.xml中,添加了下述插件,當運行“maven package”進行打包時,會打包成一個可以直接運行的JAR文件,使用“java -jar”命令就可以直接運行。

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.5</version>
</plugin>
</plugins>
</build>一般的maven項目的打包命令,在打Jar包時不會把依賴的jar包也打包進去,但是spring-boot-maven-plugin插件,會將依賴的jar包全部打包進去。
例如下面這個使用spring-boot-maven-plugin插件打包生成的jar包的BOOT/INF/lib目錄下面就包含了所有依賴的jar包:

如果沒有使用spring-boot-maven-plugin插件打包的話,那么它的目錄結(jié)構(gòu)是:

對于使用上述spring-boot-maven-plugin插件打包生成的包,可直接使用下述命令啟動項目
java -jar xxx.jar
特別說明
引入了spring-boot-maven-plugin插件后,在使用打包功能時會將mvn package 生成的 jar或者war 重新打包成可執(zhí)行文件,同時修改原文件名,增加.origin 后綴。
如果項目需要打包為war包,則其實不需要引入該插件,maven原生自帶的package插件就已經(jīng)可以滿足。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(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-06
Java開發(fā)中常用的 Websocket 技術(shù)參考
WebSocket 使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡單,允許服務(wù)端主動向客戶端推送數(shù)據(jù),當然也支持客戶端發(fā)送數(shù)據(jù)到服務(wù)端。2020-09-09
解讀springboot配置mybatis的sql執(zhí)行超時時間(mysql)
這篇文章主要介紹了解讀springboot配置mybatis的sql執(zhí)行超時時間(mysql),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
Springmvc如何實現(xiàn)向前臺傳遞數(shù)據(jù)
這篇文章主要介紹了Springmvc如何實現(xiàn)向前臺傳遞數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07
手把手教你在eclipse創(chuàng)建第一個java?web項目并運行
Eclipse是用來做開發(fā)的自由集成開發(fā)環(huán)境,這也是很多java程序員會使用的開發(fā)環(huán)境,所以可以使用eclipse創(chuàng)建javaweb項目,下面這篇文章主要給大家介紹了關(guān)于如何在eclipse創(chuàng)建第一個java?web項目并運行的相關(guān)資料,需要的朋友可以參考下2023-02-02

