您好,登錄后才能下訂單哦!
這篇文章主要介紹了spring-boot-maven-plugin打包時(shí)排除provided依賴問題怎么解決的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇spring-boot-maven-plugin打包時(shí)排除provided依賴問題怎么解決文章都會有所收獲,下面我們一起來看看吧。
spring-boot-maven-plugin 插件提供spring boot的maven打包支持。
項(xiàng)目中scope為provided的依賴,比如 lombok、mybatis-plus 等,只作用于編譯階段,編譯完成就可以功成身退了。
在spring maven打包時(shí),provided依賴會排除在包外,但springboot maven打包時(shí),還會將這些依賴打進(jìn) war 包的 lib-provided 文件夾里或 jar 包的 lib 文件夾里。
springboot項(xiàng)目構(gòu)建jar包或war包的命令為repackage,作用于maven生命周期的package階段,在 mvn package 執(zhí)行之后,這個(gè)命令再次打包生成可執(zhí)行的包,例如打jar包時(shí),生成可執(zhí)行jar包,同時(shí)將 mvn package 生成的 jar 重命名為 *.origin。
默認(rèn)情況下,repackage會將工程中引入的任何依賴打到包中。
以lombok為例,官方提供了以下方式可以將provided依賴從springboot項(xiàng)目包中排除。
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope> </dependency>
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build>
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludeGroupIds>org.projectlombok</excludeGroupIds> </configuration> </plugin> </plugins> </build>
在搭建springboot項(xiàng)目時(shí)候,會遇到maven打包插件報(bào)錯(cuò)的情況,筆者做了一個(gè)測試,對這2種方式進(jìn)行一個(gè)驗(yàn)證
此種方式打出的包是一個(gè)普通jar,并不能執(zhí)行,但是可以被引用其中的bean??梢渣c(diǎn)開其jar包一探究竟,發(fā)現(xiàn)并沒有把依賴打進(jìn)包里。
不含有root-inf,沒有依賴被打進(jìn)來。
這種方式打出的包可執(zhí)行,但是我并沒有去驗(yàn)證其中的bean是否可以被引用。網(wǎng)上說不可被引用,有待進(jìn)一步驗(yàn)證。
打好的包到服務(wù)器上運(yùn)行,可運(yùn)行 ,且含有完整的依賴包
關(guān)于“spring-boot-maven-plugin打包時(shí)排除provided依賴問題怎么解決”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“spring-boot-maven-plugin打包時(shí)排除provided依賴問題怎么解決”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。