maven optional provided

<optional>true</optional>

ccc依賴了bbb,bbb依賴了aaa,那麼ccc可能用到aaa,也可能用不到aaa

bbb中引入的aaa需要加上<optional>true</optional>,如果ccc需要aaa的功能,需要ccc自己引入aaa

這就是可選依賴

 

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>${javax.servlet-api.version}</version>
    <scope>provided</scope>
</dependency>

scope=compile,表示編譯、測試、運行都需要

scope=test,表示測試用例編譯、執行需要,junit

scope=provided,表示編譯、測試階段需要這個包,運行時不需要,會由容器提供,如servlet-api

scope=runtime,表示運行時才需要,比如mysql、oracle等方言包

scope=system,表示該包需要從本地具體的路徑提供,配合<systempath>使用,比如自己打的jar包

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章