maven依赖的作用域

maven依赖的作用域

maven下面五种作用域,除去system外,其他四种的作用在下面讲解。

​ 配置的方式

1
2
3
4
5
6
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.7</version>
<scope>provided</scope>
</dependency>

compile

​ 不填默认就是这个。

代码里可以使用,测试代码里也可以使用,会被打包到jar包里。

test

​ 只能使用在测试代码里,正式代码里用不了,不会被打包到jar里。

runtime

​ 不可以在代码里直接使用,但是会被打包到jar包里。

典型例子就是mysql jdbc驱动,我们不能直接在代码里new,而是使用的java提供的接口。接口通过反射获取驱动。

provided

​ 可以在代码里用,但不会被打包,因为他假设环境里存在能获取到。

典型例子就是servlet-api,开发时使用它,但不会被打包,因为运行它假设环境内一定存在。

system

配置依赖文件从本地磁盘获取。


maven依赖的作用域
https://www.huangchaoyu.com/38886229.html
作者
hcy
发布于
2020年7月31日
更新于
2024年8月17日
许可协议