【小知识】pom.xml中<optional>true</optional>标签的含义
pom.xml中标签的含义 如图所示:
当其它项目 依赖 拥有该标签 的项目时,不会再将该项目中拥有<optional>true</option>的依赖引入;
当某各工程很庞大 或 可能与其他工程的jar包冲突时、建议加上<optional>true</optional>,以此便可以节省开销,同时可以预防依赖冲突;
pom.xml文件的true是什么?
true表示两个项目之间依赖不传递;不设置optional或者optional是false,表示传递依赖。
1.假如项目common-framework的pom.xml中依赖如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional><!-- 防止将该依赖传递到其他模块中 -->
</dependency>
2.项目transaction的pom依赖项目common-framework,那么项目common-framework不会把spring-boot-configuration-processor的依赖传递给项目transaction,也就是说transaction不依赖spring-boot-configuration-processor:
<dependency>
<groupId>com.bx.cloud</groupId>
<artifactId>common-framework</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>