如何使用Maven scope】的更多相关文章

Maven Scope的使用: http://www.cnblogs.com/wangyonghao/p/5976055.html servlet-api和jsp-api等jar包,一般由servlet容器提供,无需在打包到war包中,如果把这些包打包到工程war包中,在tomcat6以上版本会出现冲突无法正常运行程序(版本不符的情况).可以通过配置范围为provided来实现只在编译的classpath中加载和使用,打包的时候不会包含在目标包中的功能. jstl-imp.jar需要随项目一起发…
Dependency Scope  在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署.目前<scope>可以使用5个值:  * compile,缺省值,适用于所有阶段,会随着项目一起发布.  * provided,类似compile,期望JDK.容器或使用者会提供这个依赖.如servlet.jar.  * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段.  * test,只在测试时使用,用于编译和运行测试代码.不…
在Maven的依赖管理中,经常会用到依赖的scope设置.这里整理下各种scope的使用场景和说明,以及在使用中的实践心得.Scope的使用场景和说明1.compile编译范围,默认scope,在工程环境的classpath(编译环境)和打包(如果是WAR包,会包含在WAR包中)时候都有效. 2.provided容器或JDK已提供范围,表示该依赖包已经由目标容器(如tomcat)和JDK提供,只在编译的classpath中加载和使用,打包的时候不会包含在目标包中.最常见的是j2ee规范相关的se…
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt257 maven依赖关系中Scope的作用 Dependency Scope 在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署.目前<scope>可以使用5个值: * compile,缺省值,适用于所有阶段,会随着项目一起发布. * provided,类似compile,期望JDK.容器或使用者会提供这个依赖.…
Maven依赖范围就是用来控制依赖与这三种classpath(编译classpath.测试classpath.运行classpath)的关系,Maven有以下几种依赖范围: ·compile:编译依赖范围.如果没有指定,就会默认使用该依赖范围.使用此依赖范围的Maven依赖,对于编译.测试.运行三种classpath都有效.典型的例子是spring-core,在编译.测试和运行的时候都需要使用该依赖. ·test:测试依赖范围.使用此依赖范围的Maven依赖,只对于测试classpath有效,在…
解决办法: <dependency>     <groupId>javax.servlet</groupId>     <artifactId>javax.servlet-api</artifactId>     <version>3.0.1</version>     <scope>provided</scope> <!-- 这里 --></dependency><d…
在Maven的依赖管理中,经常会用到依赖的scope设置.这里整理下各种scope的使用场景和说明,以及在使用中的实践心得. scope的使用场景和说明 1.compile 编译范围,默认scope,在工程环境的classpath(编译环境)和打包(如果是WAR包,会包含在WAR包中)时候都有效. 2.provided 容器或JDK已提供范围,表示该依赖包已经由目标容器(如tomcat)和JDK提供,只在编译的classpath中加载和使用,打包的时候不会包含在目标包中.最常见的是j2ee规范相…
maven 有6个scope类型,下面简单总结备忘下 <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> <scope>provided</scope> </dependency> maven官方描述 Dependency Sco…
1.枚举各个属性值的含义 compile,缺省值,适用于所有阶段,会打包进项目. provided,类似compile,期望JDK.容器或使用者会提供这个依赖. runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段. test,只在测试时使用,用于编译和运行测试代码.不会随项目发布. system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它. 2.其它类型的属性值都比较容易理解,这里重点比较一下compile和runtime之间…
解释 其实这个问题很简单. 对于scope=compile的情况(默认scope),也就是说这个项目在编译,测试,运行阶段都需要这个artifact(模块)对应的jar包在classpath中. 而对于scope=provided的情况,则可以认为这个provided是目标容器已经provide这个artifact.换句话说,它只影响到编译,测试阶段.在编译测试阶段,我们需要这个artifact对应的jar包在classpath中,而在运行阶段,假定目标的容器(比如我们这里的liferay容器)…