当前位置: 代码网 > it编程>编程语言>Java > 【maven】依赖范围,zookeeper面试点

【maven】依赖范围,zookeeper面试点

2024年08月01日 Java 我要评论
面试题文档来啦,内容很多,485页!由于笔记的内容太多,没办法全部展示出来,下面只截取部分内容展示。

junit是java社区事实上的单元测试标准,这个依赖特殊的地方在于一个值为test的scope子元素,scope用来定义依赖范围。该依赖只会被加入到测试代码的classpath中。对于项目主代码,该依赖是没有任何作用的.junit是单元测试框架,只有在测试的时候才需要,因此使用该依赖范围。

maven在编译项目主代码的时候需要使用一套classpath。在编译和执行测试的时候会使用另外一套classpath。实际运行maven项目的时候,又会使用一套classpath。

所以依赖范围就是用来控制依赖与这三种classpath(编译classpath、测试classpath、运行classpath)的关系。maven有以下几种依赖范围:

**▶compile:**编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此依赖范围的maven依赖,对于编译、测试、运行三 种classpath都有效。典型的例子是spring-core,在编译、测试和运行的时候都需要使用该依赖。

**▶test:**测试依赖范围。使用此依赖范围的maven依赖,只对于测试classpath有效,在编译主代码或者运行项目的使用时将无法使用此类依赖。典型的例子是junil,它只有在编译测试代码及运行测试的时候才需要。

**▶provided:**已提供依赖范围。使用此依赖范围的maven依赖,对于编译和测试classpath有效,但在运行时无效。典型的例子是servlet-api,编译和测试项目的时候需要该依赖,但在运行项目的时候,由于容器已经提供,就不需要maven重复地引人—遍。

**▶runtime:**运行时依赖范围。使用此依赖范围的maven依赖,对于测试和运行classpath有效,但在编译主代码时无效。典型的例子是jdbc驱动实现,项目主代码的编译只需要jdk提供的jdbc接

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com