欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

spring-boot-maven-plugin:打包時排除provided依賴問題

 更新時間:2023年04月11日 09:10:53   作者:lyterrific  
這篇文章主要介紹了spring-boot-maven-plugin:打包時排除provided依賴問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

spring-boot-maven-plugin:打包時排除provided依賴

spring-boot-maven-plugin 插件提供spring boot的maven打包支持。

項(xiàng)目中scope為provided的依賴,比如 lombok、mybatis-plus 等,只作用于編譯階段,編譯完成就可以功成身退了。

在spring maven打包時,provided依賴會排除在包外,但springboot maven打包時,還會將這些依賴打進(jìn) war 包的 lib-provided 文件夾里或 jar 包的 lib 文件夾里。

springboot項(xiàng)目構(gòu)建jar包或war包的命令為repackage,作用于maven生命周期的package階段,在 mvn package 執(zhí)行之后,這個命令再次打包生成可執(zhí)行的包,例如打jar包時,生成可執(zhí)行jar包,同時將 mvn package 生成的 jar 重命名為 *.origin。

默認(rèn)情況下,repackage會將工程中引入的任何依賴打到包中。

以lombok為例,官方提供了以下方式可以將provided依賴從springboot項(xiàng)目包中排除。

<dependency>
? <groupId>org.projectlombok</groupId>
? <artifactId>lombok</artifactId>
? <scope>provided</scope>
</dependency>

通過指定groupId和artifactId排除某個特定的依賴

<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>

指定groupId排除groupId相關(guān)的所有依賴

<build>
? ?<plugins>
? ? ? ?<plugin>
? ? ? ? ? ?<groupId>org.springframework.boot</groupId>
? ? ? ? ? ?<artifactId>spring-boot-maven-plugin</artifactId>
? ? ? ? ? ?<configuration>
? ? ? ? ? ? ? ?<excludeGroupIds>org.projectlombok</excludeGroupIds>
? ? ? ? ? ?</configuration>
? ? ? ?</plugin>
? ?</plugins>
</build>

maven-compiler-plugin和spring-boot-maven-plugin的選擇

在搭建springboot項(xiàng)目時候,會遇到maven打包插件報(bào)錯的情況,筆者做了一個測試,對這2種方式進(jìn)行一個驗(yàn)證 

maven-compiler-plugin方式

此種方式打出的包是一個普通jar,并不能執(zhí)行,但是可以被引用其中的bean。可以點(diǎn)開其jar包一探究竟,發(fā)現(xiàn)并沒有把依賴打進(jìn)包里。

 不含有root-inf,沒有依賴被打進(jìn)來。

spring-boot-maven-plugin方式

這種方式打出的包可執(zhí)行,但是我并沒有去驗(yàn)證其中的bean是否可以被引用。網(wǎng)上說不可被引用,有待進(jìn)一步驗(yàn)證。

打好的包到服務(wù)器上運(yùn)行,可運(yùn)行 ,且含有完整的依賴包

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java數(shù)據(jù)結(jié)構(gòu)之對象的比較

    Java數(shù)據(jù)結(jié)構(gòu)之對象的比較

    比較對象是面向?qū)ο缶幊陶Z言的一個基本特征,下面這篇文章主要給大家介紹了關(guān)于Java數(shù)據(jù)結(jié)構(gòu)之對象的比較,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • 詳解@Autowired(required=false)注入注意的問題

    詳解@Autowired(required=false)注入注意的問題

    這篇文章主要介紹了@Autowired(required=false)注入注意的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • SpringDataRedis入門和序列化方式解決內(nèi)存占用問題小結(jié)

    SpringDataRedis入門和序列化方式解決內(nèi)存占用問題小結(jié)

    spring-data-redis是spring-data模塊的一部分,專門用來支持在spring管理項(xiàng)目對redis的操作,這篇文章主要介紹了SpringDataRedis入門和序列化方式解決內(nèi)存占用問題,需要的朋友可以參考下
    2022-12-12
  • Java string.trim()究竟去掉了什么

    Java string.trim()究竟去掉了什么

    這篇文章主要介紹了Java string.trim()究竟去掉了什么,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • CompletableFuture?異步編排示例詳解

    CompletableFuture?異步編排示例詳解

    這篇文章主要為大家介紹了CompletableFuture?異步編排示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Java實(shí)現(xiàn)的上傳并壓縮圖片功能【可等比例壓縮或原尺寸壓縮】

    Java實(shí)現(xiàn)的上傳并壓縮圖片功能【可等比例壓縮或原尺寸壓縮】

    這篇文章主要介紹了Java實(shí)現(xiàn)的上傳并壓縮圖片功能,可實(shí)現(xiàn)圖片的等比例壓縮或原尺寸壓縮,涉及java文件讀寫、轉(zhuǎn)換、傳輸?shù)认嚓P(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • SpringBoot配置Profile實(shí)現(xiàn)多環(huán)境支持

    SpringBoot配置Profile實(shí)現(xiàn)多環(huán)境支持

    這篇文章主要介紹了SpringBoot配置Profile實(shí)現(xiàn)多環(huán)境支持操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • JAVA解決在@autowired,@Resource注入為null的情況

    JAVA解決在@autowired,@Resource注入為null的情況

    這篇文章主要介紹了JAVA解決在@autowired,@Resource注入為null的情況,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java實(shí)現(xiàn)Ip地址獲取的示例代碼

    Java實(shí)現(xiàn)Ip地址獲取的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)Ip地址獲取的兩種方式,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下
    2023-09-09
  • 實(shí)戰(zhàn)分布式醫(yī)療掛號系統(tǒng)開發(fā)醫(yī)院科室及排班的接口

    實(shí)戰(zhàn)分布式醫(yī)療掛號系統(tǒng)開發(fā)醫(yī)院科室及排班的接口

    這篇文章主要為大家介紹了實(shí)戰(zhàn)分布式醫(yī)療掛號系統(tǒng)開發(fā)醫(yī)院科室及排班的接口,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2022-04-04

最新評論