Maven开发笔记(四)—— Maven中plugins和pluginManagement
From: https://www.jianshu.com/p/49acf1246eff
1.plugins和pluginManagement的區(qū)別概述
plugins 和 pluginManagement 的區(qū)別,和我們前面研究過(guò)的 dependencies 和 dependencyManagement 的區(qū)別是非常類似的。plugins 下的 plugin 是真實(shí)使用的,而 pluginManagement 下的 plugins 下的 plugin 則僅僅是一種聲明,子項(xiàng)目中可以對(duì) pluginManagement 下的 plugin 進(jìn)行信息的選擇、繼承、覆蓋等。
2.pluginManagement使用實(shí)戰(zhàn)
假如存在兩個(gè)項(xiàng)目,項(xiàng)目A為項(xiàng)目B的父項(xiàng)目,其關(guān)系通過(guò)pom文件的關(guān)系確定。項(xiàng)目A的父pom文件片段如下:
<pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.1</version><configuration><attach>true</attach></configuration><executions><execution><phase>compile</phase><goals><goal>jar</goal></goals></execution></executions></plugin></plugins> </pluginManagement>如果項(xiàng)目B也想使用該plugin配置,則在項(xiàng)目B的子pom文件中只需要如下配置:
<plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId></plugin> </plugins>我們可以看到,子pom文件中,省去了版本、配置細(xì)節(jié)等信息,只需要指定groupId和artifactId,其他信息均從父pom文件繼承。當(dāng)然,如果子pom文件想定制自己的特定內(nèi)容,可以另行設(shè)置,并會(huì)覆蓋從父pom文件繼承到的內(nèi)容。
需要注意的是,dependencies 和 dependencyManagement 均是 project 下的直接子元素,但是 plugins 和 pluginManagement 卻是 project 下 build 的直接子元素。
?
總結(jié)
以上是生活随笔為你收集整理的Maven开发笔记(四)—— Maven中plugins和pluginManagement的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《天才在左疯子在右》——高铭
- 下一篇: 求最长回文串