本文最后更新于2 分钟前,文中所描述的信息可能已发生改变。
<optional>
标签
情景:
xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
optional的中文意思为可选的,设置为true表示这个依赖项默认是不会被引入其他依赖于此项目的项目。
比如有四个项目分别为A、B、C、D,A中导入了B的依赖,B中导入了C、D的依赖,而A项目并不需要依赖C、D。如果在B中的C、D依赖项中没有添加<optional>true</optional>
标签那么B项目会编译失败,因为项目B要依赖C、D。
但是如果在项目B的依赖C、D中添加了<optional>true</optional>
标签,那么表示这两个依赖是可选的,项目B就不会编译失败并且项目A也不会引入C、D,避免了不必要的依赖传递,如果A项目想要使用C、D那么只需要正常引入即可。
详解参考此文:Maven optional关键字透彻图解