Maven Optional Exclusions使用区别
轉(zhuǎn)載自?Maven Optional & Exclusions使用區(qū)別
Optional和Exclusions都是用來(lái)排除jar包依賴(lài)使用的,兩者在使用上卻是相反。
Optional定義后,該依賴(lài)只能在本項(xiàng)目中傳遞,不會(huì)傳遞到引用該項(xiàng)目的父項(xiàng)目中,父項(xiàng)目需要主動(dòng)引用該依賴(lài)才行。
Exclusions則是主動(dòng)排除子項(xiàng)目傳遞過(guò)來(lái)的依賴(lài)。
用法區(qū)別
Project-X -> Project-A
Project-A -> Project-B
<project>...<dependencies><dependency><groupId>sample.ProjectB</groupId><artifactId>Project-B</artifactId><version>1.0</version><scope>compile</scope><optional>true</optional></dependency></dependencies> </project>如上X依賴(lài)A,A依賴(lài)B用的 <optional>true</optional>,這時(shí)B只能在A(yíng)中使用,而不會(huì)主動(dòng)傳遞到X中,X需要主動(dòng)引用B才有B的依賴(lài)。
如果A不用 <optional>true</optional>引用B,則會(huì)傳遞到X中,X如果不需要B則需要主動(dòng)排除A傳遞過(guò)來(lái)的B。
<dependencies><dependency><groupId>sample.ProjectA</groupId><artifactId>Project-A</artifactId><version>1.0</version><scope>compile</scope><exclusions><exclusion><groupId>sample.ProjectB</groupId><artifactId>Project-B</artifactId></exclusion></exclusions> </dependency> </dependencies>所以,Optional和Exclusions都是用來(lái)控制依賴(lài)的傳遞,可以根據(jù)實(shí)際場(chǎng)景靈活應(yīng)用。
更多具體的定義即說(shuō)明可參考官方說(shuō)明文檔:
http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
總結(jié)
以上是生活随笔為你收集整理的Maven Optional Exclusions使用区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 网络语千斤顶是什么意思 网络语千斤顶的意
- 下一篇: 通用唯一标识码UUID的介绍及使用