中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring-boot-maven-plugin打包時排除provided依賴問題怎么解決

發布時間:2023-04-11 17:11:50 來源:億速云 閱讀:235 作者:iii 欄目:開發技術

這篇文章主要介紹了spring-boot-maven-plugin打包時排除provided依賴問題怎么解決的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇spring-boot-maven-plugin打包時排除provided依賴問題怎么解決文章都會有所收獲,下面我們一起來看看吧。

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

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

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

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

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

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

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

<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相關的所有依賴

<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項目時候,會遇到maven打包插件報錯的情況,筆者做了一個測試,對這2種方式進行一個驗證 

maven-compiler-plugin方式

此種方式打出的包是一個普通jar,并不能執行,但是可以被引用其中的bean。可以點開其jar包一探究竟,發現并沒有把依賴打進包里。

spring-boot-maven-plugin打包時排除provided依賴問題怎么解決

 不含有root-inf,沒有依賴被打進來。

spring-boot-maven-plugin方式

這種方式打出的包可執行,但是我并沒有去驗證其中的bean是否可以被引用。網上說不可被引用,有待進一步驗證。

打好的包到服務器上運行,可運行 ,且含有完整的依賴包

spring-boot-maven-plugin打包時排除provided依賴問題怎么解決

spring-boot-maven-plugin打包時排除provided依賴問題怎么解決

關于“spring-boot-maven-plugin打包時排除provided依賴問題怎么解決”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“spring-boot-maven-plugin打包時排除provided依賴問題怎么解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金湖县| 台山市| 临邑县| 大宁县| 新乡县| 绍兴市| 微山县| 淳安县| 崇礼县| 通山县| 苏尼特右旗| 呈贡县| 栖霞市| 扎鲁特旗| 延川县| 辉南县| 大连市| 明星| 上饶县| 蕉岭县| 仙桃市| 九龙坡区| 延安市| 中宁县| 平利县| 金昌市| 吉林市| 鱼台县| 鹰潭市| 横峰县| 稷山县| 泊头市| 昌宁县| 安远县| 阿拉善盟| 龙岩市| 沂源县| 宜兰县| 乡城县| 泰州市| 宾川县|