欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

Maven Optional Exclusions使用区别

发布时间:2023/12/3 57 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Maven Optional Exclusions使用区别 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

转载自 Maven Optional & Exclusions使用区别

Optional和Exclusions都是用来排除jar包依赖使用的,两者在使用上却是相反。

Optional定义后,该依赖只能在本项目中传递,不会传递到引用该项目的父项目中,父项目需要主动引用该依赖才行。

Exclusions则是主动排除子项目传递过来的依赖。

用法区别

Project-X -> Project-A

Project-A -> Project-B

<project>...<dependencies><dependency><groupId>sample.ProjectB</groupId><artifactId>Project-B</artifactId><version>1.0</version><scope>compile</scope><optional>true</optional></dependency></dependencies> </project>

如上X依赖A,A依赖B用的 <optional>true</optional>,这时B只能在A中使用,而不会主动传递到X中,X需要主动引用B才有B的依赖。

如果A不用 <optional>true</optional>引用B,则会传递到X中,X如果不需要B则需要主动排除A传递过来的B。

<dependencies><dependency><groupId>sample.ProjectA</groupId><artifactId>Project-A</artifactId><version>1.0</version><scope>compile</scope><exclusions><exclusion><groupId>sample.ProjectB</groupId><artifactId>Project-B</artifactId></exclusion></exclusions> </dependency> </dependencies>

所以,Optional和Exclusions都是用来控制依赖的传递,可以根据实际场景灵活应用。

更多具体的定义即说明可参考官方说明文档:

http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html


总结

以上是生活随笔为你收集整理的Maven Optional Exclusions使用区别的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。