依赖范围
依赖范围分类说明
在Maven项目中,可以使用<dependency>
元素来声明项目的依赖关系。其中,<dependency>
元素有一个<scope>
子元素,用于指定依赖范围。常见的依赖范围包括:
compile
:默认依赖范围,表示依赖在编译、测试和运行时均可用。test
:表示依赖仅在测试时可用。provided
:表示依赖由JDK或服务器等提供,而不包含在项目中,例如Java EE API。runtime
:表示依赖仅在运行时可用,而不在编译时和测试时可用。
举例说明
如果要将MySQL驱动的依赖设置为runtime
范围,可以将<dependency>
元素中的<scope>
子元素设置为runtime
,如下所示:
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
<scope>runtime</scope>
</dependency>
</dependencies>
这样,MySQL驱动就只会在运行时被加载,而不会在编译时和测试时被加载。这在某些情况下非常有用,例如,如果要将应用程序部署到多个环境中,而不想在每个环境中都安装MySQL驱动。