Maven-pom.xml -Dependency Scope 区别
2016-07-27 12:17
281 查看
Maven-pom.xml -Dependency Scope 区别
博客分类: java
其它
如下图报错,找错
1. 找不到类 org.springframework.scheduling.quartz.QuartzJobBean
2.Ctrl+Shift+T 查 QuartzJobBean 是属于在哪个jar包下的类,
如下图
QuartzJobBean 属于spring-support-2.0.8.jar
scope的使用场景和说明
1.compile
编译范围,默认scope,在工程环境的classpath(编译环境)和打包(如果是WAR包,会包含在WAR包中)时候都有效。
2.provided
容器或JDK已提供范围,表示该依赖包已经由目标容器(如tomcat)和JDK提供,只在编译的classpath中加载和使用,打包的时候不会包含在目标包中。最常见的是j2ee规范相关的servlet-api和jsp-api等jar包,一般由servlet容器提供,无需在打包到war包中,如果不配置为provided,把这些包打包到工程war包中,在tomcat6以上版本会出现冲突无法正常运行程序(版本不符的情况)。
3.runtime
一般是运行和测试环境使用,编译时候不用加入classpath,打包时候会打包到目标包中。一般是通过动态加载或接口反射加载的情况比较多。也就是说程序只使用了接口,具体的时候可能有多个,运行时通过配置文件或jar包扫描动态加载的情况。典型的包括:JDBC驱动等。
4.test
测试范围,一般是单元测试场景使用,在编译环境加入classpath,但打包时不会加入,如junit等。
5.system
系统范围,与provided类似,只是标记为该scope的依赖包需要明确指定基于文件系统的jar包路径。因为需要通过systemPath指定本地jar文件路径,所以该scope是不推荐的。如果是基于组织的,一般会建立本地镜像,会把本地的或组织的基础组件加入本地镜像管理,避过使用该scope的情况。
6.import
(仅在 Maven 2.0.9 或者更新版本中有效)
相关文章推荐
- #CentOS on Mac#2.加入系统调用
- copy_from_user()
- centos 安装mysql5.6
- 网站建设和网站运营的关系
- Linux下的五种I/O模型
- 解决linux中使用git,ssh每次都要输入密码
- centos 安装php5.6
- 从零开始的Android新项目1 - 架构搭建篇
- linux下面快速删除大量文件及快速复制大量小文件
- poj 3258 River Hopscotch(二分最大化最小值)
- maven的scope配置项
- Linux驱动学习笔记(6)信号量(semaphore)与互斥量(mutex)【转】
- Looper.prepare()方法
- tomcat 的最大连接数设置
- Looper.prepare()方法
- 完全分布式Hadoop 调用DFS上so文件做缓存分发 跑mr
- linux 查看分区是ext3还是ext4
- tomcat-在eclispe中配置远程调试
- 栈帧与函数调用过程的分析
- java.lang.NullPointerException org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)