转载:maven依赖范围
2024-08-27 05:27:48
其中依赖范围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。
转载:
http://blog.csdn.net/u012814506/article/details/47355647
最新文章
- 几个比较”有意思“的JS脚本
- DynamicJson
- 使用type=";redirect";重定向,传递List等变量到jsp页面的问题
- Final-阶段站立会议5
- Android侧滑
- 008--VS2013 C++ 位图半透明化(另一种显示)
- light开发框架
- GCC、GDB、Makefile
- 使用 boost 进行 CRC32 校验
- Android ADT Bundle(Eclipse with ADT) ADT R23
- 自动生成MyEclipse 安装破解码
- 阿里Java架构师谈谈架构和如何成为一个Java架构师
- #033 信安培训基础题Python解决网络安全实验室|网络信息安全攻防学习平台
- BZOJ3028食物——生成函数+泰勒展开
- 编译Spark源码
- MAC操作系统使用小技巧
- LAMP架构(三)
- 配置AD RMS及SharePoint 2013 IRM问题解决及相关资源
- Oracle实体化视图
- Html5之Web存储