使用方式
将某个依赖的optional属性设置为true,这样就能防止将该依赖传递到其他模块,成为当前项目或模块的私有依赖。
举例说明
比如有一个公共模块A,A自身的依赖项中有lombok这个依赖。lombok依赖的optional属性为true。
<dependencies>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
当模块B引用了A模块时,通常会继承A模块中的所有公共依赖,但由于此时lombok属于模块A的私有依赖,所以模块B将无法引入A模块中的lombok依赖。