Maven - pom.xml 文件中 dependency 中 optional 屬性

官方文檔的說法是,當 project-A 依賴 project-B,project-B 依賴 project-D 時。

What if we dont want project D and its dependencies to be added to Project A's classpath because we know some of Project-D's dependencies (maybe Project-E for example) was missing from the repository, and you don't need/want the functionality in Project-B that depends on Project-D anyway. In this case, Project-B's developers could provide a dependency on Project-D that is <optional>true</optional>, like this:

<dependency>
  <groupId>sample.ProjectD</groupId>
  <artifactId>ProjectD</artifactId>
  <version>1.0-SNAPSHOT</version>
  <optional>true</optional>
</dependency>

所以當project-B的<optional>true</optional>時,project-A中如果沒有顯式的引入project-D,則project-A不依賴project-D,即project-A可以自己選擇是否依賴project-D。

默認<optional>的值爲false,及子項目必須依賴。

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