Maven
可选依赖于依赖排除
Optional 和 Exclusions 都是用来排除jar包依赖使用的。
Project-X 依赖 Project-A,Project-A 依赖 Project-B。
Optional
如上 X 依赖 A,A 依赖 B 用的<optional>true</optional>
,这时 B 只能在 A 中使用,而不会主动传递到 X 中,X 需要主动引用 B 才有 B 的依赖。
Exclusions
如果 A 不用<optional>true</optional>
引用 B,则会传递到 X 中,X 如果不需要 B 则需要主动排除 A 传递过来的 B。
Last updated