maven <scope>provided</scope>】的更多相关文章

今天开发web的时候,需要用到servlet-api,于是在pom.xml中添加依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency> 通过插件启动tomcat的时候,报错,里面有一段是这样的: Caused…
今天开发web的时候,需要用到servlet-api,于是在pom.xml中添加依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency> 通过插件启动tomcat的时候,报错,里面有一段是这样的: Caused…
maven常用的scope有compile,provided,runtime,test. complie是默认值,表示在build,test,runtime阶段的classpath下都有依赖关系.test表示只在test阶段有依赖关系,例如junitprovided表示在build,test阶段都有依赖,在runtime时并不输出依赖关系而是由容器提供,例如web war包都不包括servlet-api.jar,而是由tomcat等容器来提供<dependency> <groupId&g…
问题再现: 上次这边朋友问我一个问题,就是他们在pom.xml中的dependency中,看到有一些是<scope>provided</scope>的情况,比如如下: <dependency> <groupId>com.liferay.portal</groupId> <artifactId>portal-impl</artifactId> <version>6.1.0</version> <…
<dependency> < groupId>javax.servlet</groupId> < artifactId>jsp-api</artifactId> < version>2.0</version> < scope>provided</scope> < /dependency> compile 默认的scope,表示  dependency 都可以在生命周期中使用.而且,这些d…
在POM 4中,<dependency>中引入了<scope>,它主要管理依赖的部署.目前<scope>可以使用5个值: * compile,缺省值,适用于所有阶段,会随着项目一起发布.     * provided,类似compile,期望JDK.容器或使用者会提供这个依赖.如servlet.jar.     * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段.     * test,只在测试时使用,用于编译和运行测试代码.不会随项目发布.    …
首先官网API 2.09版本之后,有6中scope. Dependency scope 用来限制依赖的作用范围,同时也作用于各种编译路径类路径,下面详细说明这六种路径: compile这是默认范围,Complie依赖对于整个工程可用,这些依赖也可以传递到项目中. provided非常类似于Compile,表示SDK或者容器在运行时提供.例如,用javaEE来编译一个web spplication时,由于容器已经提供这些类,你只需将Servlet API和相关的java EE APIs的范围sco…
一.问题 在上一篇<SpringBoot项目启动不走内嵌容器>中发现,provided会影响子依赖. 标记为scope:provided的jar在编译和运行时有作用,表明了运行时dependency 由JDK或者容器提供 那么问题来了:有个项目,依赖了jar包A,然后A又依赖B,B又依赖C,C又依赖D,现在给A加了scope:provided,那么运行时的B\C\D也是由JDK或者容器提供吗? 二.实验分析 新建个测试项目 用spring-boot-starter-web做实验 <dep…
解释 其实这个问题很简单. 对于scope=compile的情况(默认scope),也就是说这个项目在编译,测试,运行阶段都需要这个artifact(模块)对应的jar包在classpath中. 而对于scope=provided的情况,则可以认为这个provided是目标容器已经provide这个artifact.换句话说,它只影响到编译,测试阶段.在编译测试阶段,我们需要这个artifact对应的jar包在classpath中,而在运行阶段,假定目标的容器(比如我们这里的liferay容器)…
Dependency Scope 在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署.目前<scope>可以使用6个值: *import ,只能用在pom中,scope仅用于type为"pom"的dependency.Maven只能单继承,无法多继承,当一个项目中需要两个parent是 可以使用scope="import",如:只能继承一个 spring-boot-start-parent.实际…