依赖配置说明 | ||||||||||||||||||
根元素project下的dependencies可以包含一个或多个dependency元素,以声明一个或者多个项目依赖 | ||||||||||||||||||
(1)groupId,artifactId,version是maven最基本的坐标 | ||||||||||||||||||
(2)type:依赖的类型,对应项目坐标定义的packaging。不定义默认是jar。 | ||||||||||||||||||
(3)scope:依赖范围 | ||||||||||||||||||
(4)optional:标记依赖是否可选 | ||||||||||||||||||
(5)exclusions:用来排除传递性依赖 | ||||||||||||||||||
注:大部分依赖声明只包含基本坐标 | ||||||||||||||||||
依赖范围 | ||||||||||||||||||
compile:编译依赖范围。如果没有指定,就会默认使用该依赖范围,使用此依赖范围的Maven依赖,对于编译,测试,运行三种classpath都有效。例子spring-core | ||||||||||||||||||
test:测试依赖范围,使用此依赖范围的Maven依赖,只对于测试classpath有效,在编译主代码或者运行项目的使用时将将无法使用此类依赖。例子JUnit | ||||||||||||||||||
provided:已提供依赖范围。使用此依赖范围的Maven依赖,对编译和测试classpath有效,但在运行时无效。例子servlet-api | ||||||||||||||||||
runtime:运行时依赖范围。使用此依赖范围的Maven依赖,对于测试和运行classpath有效,但在编译主代码是无效。例子JDBC驱动实现。 | ||||||||||||||||||
system:系统依赖范围。该依赖与三种classpath的关系,和provided依赖范围完全一致。 | ||||||||||||||||||
但是,使用system范围的依赖时必须通过systemPath元素显示地指定依赖文件的路径。由于此类依赖不是通过Maven仓库解析的,而且往往与本机系统绑定,可能造成构建的不可移植,以此谨慎使用。 | ||||||||||||||||||
<dependency> | ||||||||||||||||||
<groupId>javax.sql</groupId> | ||||||||||||||||||
<artifactId>jdbc-stdext</artifactId> | ||||||||||||||||||
<version>2.0</version> | ||||||||||||||||||
<scope></scope> | ||||||||||||||||||
<systemPath>${java.home}/lib/rt.jar</systemPath> | ||||||||||||||||||
</dependency> | ||||||||||||||||||
|
||||||||||||||||||
查看项目已解析依赖 |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。