简单的依赖配置
一个依赖声明可以包含以下元素:
根元素project下的dependencies可以包含一个或者多个dependency元素,可以声明一个或者多个项目依赖。每个依赖可以包含的元素有:
groupId、artifactId和version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,maven根据坐标才能找到需要的依赖。
type:依赖的类型,对应项目坐标定义的packaging。大部分情况下,该元素不必声明,其默认值是jar
scope:依赖的范围
optional:标记依赖是否可选
exclusion:用来排除传递性依赖
依赖的范围
例如:junit依赖的测试范围是test,测试范围用元素scope表示。
compile:编译依赖范围,默认值。
test:测试依赖范围,典型的例子就是junit,他只有在编译测试代码以及运行测试的时候才需要。
provided:已提供依赖范围,使用此依赖范围的maven依赖,对于编译和测试classpath有效,但是在运行无效。典型的例子就是servlet-api,编译和测试项目的时候需要该依赖,但是在运行项目的时候,容器已经提供了,就不需要maven重复引入一遍了。
runtime:运行是依赖范围,典型的例子就是JDBC驱动,项目主代码的编译主需要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才需要实现上述接口的具体JDBC驱动。
system:系统依赖范围。
import:导入依赖范围。