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中,添加了下述插件,當(dāng)運行“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-06Java開發(fā)中常用的 Websocket 技術(shù)參考
WebSocket 使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡單,允許服務(wù)端主動向客戶端推送數(shù)據(jù),當(dāng)然也支持客戶端發(fā)送數(shù)據(jù)到服務(wù)端。2020-09-09解讀springboot配置mybatis的sql執(zhí)行超時時間(mysql)
這篇文章主要介紹了解讀springboot配置mybatis的sql執(zhí)行超時時間(mysql),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01Springmvc如何實現(xiàn)向前臺傳遞數(shù)據(jù)
這篇文章主要介紹了Springmvc如何實現(xiàn)向前臺傳遞數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下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