maven-shade-plugin的createDependencyReducedPom屬性

maven-shade-plugin插件有個配置屬性:createDependencyReducedPom,默認值為true.

當這個屬性為true的時候,如果我們使用maven-shade-plugin來打包項目,那么便會在項目根目錄下生成一個dependency-reduced-pom.xml文件,這個被刪減的pom文件會移除已經打包進jar包中的依賴。

怎么理解呢,也就是說,假如我的一個工程A依賴了spring-boot-starter-tomcat,那么這個依賴(即spring-boot-starter-tomcat)中的.class文件會被打包進生成的A.jar包中,

<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>

而在生成的dependency-reduced-pom.xml文件中,這個依賴將被exclusion掉。

那么這個dependency-reduced-pom.xml有什么用呢?
我們如果在另一個工程B中引用了A工程對應的A.jar,而且B也依賴了spring-boot-starter-tomcat,那么我們在B工程中就不需要再依賴spring-boot-starter-tomcat了,這樣可以避免重復引用。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容