maven依赖范围
2015-08-08 10:27
141 查看
其中依赖范围scope 用来控制依赖和编译,测试,运行的classpath(注意是与classpath)的关系. 主要的是三种依赖关系如下:
1.compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效。
有些依赖在主代码中需要import,在测试代码中也需要import,打包的时候还需要一起打包上传服务器,则scope是compile。
2.test:测试依赖范围。只对于测试classpath有效
有些代码是测试需要import,而主代码中不需要,我们不需要把junit打包上传到服务器,则scope是test
3.provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api
以servlet-api为例,tomcat中已经提供了servlet-api的jar包,但是本地写代码的时候,只需要import进去,而不需要把servlet-api的jar包打包到服务器上,如果打包了,可能会产生jar包冲突,这个时候用provided。
4.runtime:运行时提供。例如:jdbc驱动
例如mysql的jdbc驱动,在本地写代码的时候,我们都是引入的jdbc接口,并不需要引入具体的jdbc驱动实现,所以写代码的石灰石并不需要,而运行的时候,我们需要使用具体的驱动,这样的jar包我们的scope为runtime。
相关文章推荐
- hdu5360 Hiking
- Minimum Size Subarray Sum -- leetcode
- form表单
- [算法专题] 深度优先搜索&回溯剪枝
- Trie树讲解
- 南邮 OJ 2043 有才华的罗老师
- hdu5360优先队列
- scala学习之:trait的理解
- Palindrome Number
- 树莓派控制红外线收发
- 网络编程1
- 天声人語 20150808
- Minigui-3.0.12 开发记录
- 南邮 OJ 2041 演唱顺序问题II
- 视频编码
- Reverse Integer
- 野指针
- cocos2dx-CCScrollView的制作
- 一切成功源于积累——20150808 美国非农5分钟k线直至收盘 各货币对表现 略差于预期 过山车
- 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)