Maven Scope 依赖范围】的更多相关文章

Maven依赖范围就是用来控制依赖与这三种classpath(编译classpath.测试classpath.运行classpath)的关系,Maven有以下几种依赖范围: ·compile:编译依赖范围.如果没有指定,就会默认使用该依赖范围.使用此依赖范围的Maven依赖,对于编译.测试.运行三种classpath都有效.典型的例子是spring-core,在编译.测试和运行的时候都需要使用该依赖. ·test:测试依赖范围.使用此依赖范围的Maven依赖,只对于测试classpath有效,在…
一.理解Maven scope依赖范围的作用 Maven在编译项目主代码的时候需要使用一套classspath.总共有三种classpath,分别对应于Maven编译项目主代码的时候.Maven编译和执行测试的时候.实际运行Maven项目的时候. Compile: 编泽依赖范围.如果没有指定,就会默认使用该依赖范围.使用此依赖范围的Maven依赖,对于编译.测试.运行三种classpath都有效.比如spring-core依赖,在编辑.测试.运行的时候都需要使用该依赖. test: 测试依赖范围…
在maven多模块项目中,为了保持模块间依赖的统一,常规做法是在parent model中,使用dependencyManagement预定义所有模块需要用到的dependency(依赖) <dependencyManagement> <dependencies> <!-- Feign是一种声明式.模板化的HTTP客户端:以HTTP接口的形式暴露自身服务 --> <dependency> <groupId>org.springframework.…
Maven的scope依赖作用域说明 1.test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖 2.compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去 3.provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突 4.runtime在运行的时候依赖,在编译的时候不依赖 默认的依赖范围是compile 依赖的传递: 作用域是test的包不…
在Maven中依赖的域有这几个:import.provided.runtime.compile.system.test 1compile 的范围 当依赖的scope为compile的时候,那么当前这个依赖的包,会在编译的时候将这个依赖加入进来,并且在打包(mvn package)的时候也会将这个依赖加入进去 意思就是:编译范围有效,在编译与打包时都会存储进去 2provided的范围 当依赖的scope为provided的时候,在编译和测试的时候有效,在执行(mvn package)进行打包成w…
我们知道,maven的依赖关系是有传递性的.如:A-->B,B-->C.但有时候,项目A可能不是必需依赖C,因此需要在项目A中排除对A的依赖.在maven的依赖管理中,有两种方式可以对依赖关系进行,分别是可选依赖(Optional Dependencies)以及依赖排除(Dependency Exclusions). 一.可选依赖 当一个项目A依赖另一个项目B时,项目A可能很少一部分功能用到了项目B,此时就可以在A中配置对B的可选依赖.举例来说,一个类似hibernate的项目,它支持对mys…
Maven的依赖构件包含一个依赖范围属性,这个属性描述的是三套classpath的控制,即编译.测试.运行. 举个例子Junit依赖只是在测试范围(classpath)使用,而在运行的时候不使用,还有Servlet api在编译的时候使用,在运行部署的时候不使用,因为大部分容器都已经提供该依赖支持. <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit<…
在Maven的依赖管理中,经常会用到依赖的scope设置.这里整理下各种scope的使用场景和说明,以及在使用中的实践心得.Scope的使用场景和说明1.compile编译范围,默认scope,在工程环境的classpath(编译环境)和打包(如果是WAR包,会包含在WAR包中)时候都有效. 2.provided容器或JDK已提供范围,表示该依赖包已经由目标容器(如tomcat)和JDK提供,只在编译的classpath中加载和使用,打包的时候不会包含在目标包中.最常见的是j2ee规范相关的se…
一,编写pom.xml   首先我们看一下pom.xml   <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0…
1.Maven的依赖1.1 添加依赖1.2 依赖范围(sope)依赖范围与classpath的关系1.3 依赖的传递性1.2.1 依赖传递性的冲突问题1. 第一种情况2. 第二种情况1.2.2 通过exclusions元素排除不想要的传递性依赖1.2.3 依赖传递性冲突问题解决办法总结1.4 依赖版本的界限 1.Maven的依赖 Maven的依赖通过dependencis元素来配置依赖,这是Maven最强大的特性之一.它支持传递性依赖. 1.1 添加依赖 在Maven中需要使用在dependen…