maven-shade-plugin插件有個配置屬性:createDependencyReducedPom,默認(rèn)值為true.
當(dāng)這個屬性為true的時候酣栈,如果我們使用maven-shade-plugin來打包項(xiàng)目桶癣,那么便會在項(xiàng)目根目錄下生成一個dependency-reduced-pom.xml
文件伍玖,這個被刪減的pom文件會移除已經(jīng)打包進(jìn)jar包中的依賴。
怎么理解呢爸邢,也就是說,假如我的一個工程A依賴了spring-boot-starter-tomcat,那么這個依賴(即spring-boot-starter-tomcat)中的.class文件會被打包進(jìn)生成的A.jar包中,
<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>
而在生成的dependency-reduced-pom.xml
文件中茅郎,這個依賴將被exclusion掉。
那么這個dependency-reduced-pom.xml
有什么用呢或渤?
我們?nèi)绻诹硪粋€工程B中引用了A工程對應(yīng)的A.jar系冗,而且B也依賴了spring-boot-starter-tomcat,那么我們在B工程中就不需要再依賴spring-boot-starter-tomcat了劳坑,這樣可以避免重復(fù)引用毕谴。