maven依赖中的type和scope

本文详细介绍了Maven中dependency的type和scope属性。type主要讨论了默认的jar类型与pom类型,后者用于打包多个jar到一个pom中。scope包括compile、provided、runtime、test、system和import六种,分别解析了它们在项目不同阶段的作用,如编译、测试和运行。此外,还解释了scope的依赖传递规则,当scope为test或provided时,依赖不会传递给直接依赖项目。
摘要由CSDN通过智能技术生成

type定义引入包的方式

在maven中依赖包默认的引入方式是jar,当需要引入很多依赖的时候,pom.xml文件会过大,我们可以通过依赖一个父项目来解决这个问题,但也可能导致府项目pom.xml文件过大,所以最终的方法是type改成pom方式,即把很多jar包打包到一个pom中,我们依赖了pom,就可以下载所有的jar包。

scope控制 dependency 元素的使用范围

compile(默认)

如果没有指定scope,那么该元素的默认值为compile。被依赖项目需要参与到项目的编译、测试、打包、运行等阶段,打包时通常会包含被依赖项目,是比较强的依赖。

provided

被依赖项目理论上可以参与到项目的编译、测试、运行等阶段,当时在打包时进行了exclude动作。
应用场景:例如我们在开发一个web项目,在编译的时候我们需要依赖servlet-api.jar,但在运行时我们不需要这个jar,因为它已由应用服务器提供,这是我们就需要用provided来修饰这个依赖包。

runtime

顾名思义,表示该依赖项目无需参与到项目的编译,但会参与到测试与运行阶段。
应用场景:例如在编译时我们不需要JDBC API的jar,但在运行时才需要JDBC的驱动包。

test

表示该依赖项目仅会参与到项目的测试阶段。
应用场景:例如,Junit 测试。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值