当前位置: 首页 > news >正文

maven <scope>compile</scope>作用

在 Maven 项目中, 元素用于定义依赖项的作用范围。 元素可以有多个值,每个值表示不同的作用范围。其中,scope compile scope 是默认的作用范围,表示该依赖项在编译、测试和运行时都需要。

scope compile scope 的含义

1、编译时依赖:

当您在项目中声明了一个依赖项并指定了 compile,这意味着该依赖项在编译项目的源代码时是必需的。Maven 会在编译阶段将该依赖项包含在类路径中。

2、测试时依赖:

该依赖项在运行测试时也是必需的。Maven 会在运行测试时将该依赖项包含在类路径中。

3、运行时依赖:

该依赖项在项目运行时也是必需的。Maven 会在打包和部署项目时将该依赖项包含在最终的包中(例如 JAR、WAR 文件)。

示例

假设您有一个 Maven 项目,需要使用 jackson-databind 库来处理 JSON 数据。您可以在 pom.xml 文件中这样声明依赖项:

<dependencies><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.13.0</version><scope>compile</scope></dependency>
</dependencies>

在这个例子中,jackson-databind 库将在编译、测试和运行时都被包含在类路径中。

其他常见的 scope 值

除了 compile,Maven 还支持其他几个作用范围:

test:依赖项仅在测试编译和执行阶段有效。不会被打包到最终的发布包中。
xml
深色版本

<scope>test</scope>

provided:依赖项在编译和测试时需要,但在运行时由容器或 JDK 提供。例如,Servlet API。
xml
深色版本

<scope>provided</scope>

runtime:依赖项在运行时需要,但在编译时不需要。例如,JDBC 驱动。

<scope>runtime</scope>

system:依赖项必须显式提供路径,类似于 provided,但路径是固定的。

<scope>system</scope>
<systemPath>${project.basedir}/lib/some-jar.jar</systemPath>

import:仅在 中使用,用于导入其他 POM 文件中的依赖管理配置。

<scope>import</scope>

总结
scope compile scope 是 Maven 中默认的依赖作用范围,表示该依赖项在编译、测试和运行时都是必需的。理解不同作用范围的意义和用途,可以帮助您更好地管理和优化项目的依赖关系。


http://www.mrgr.cn/news/78197.html

相关文章:

  • 问题:smart监控没有能流的问题? smart200与维纶屏
  • Deepnote、JupyterLab、Google Colab、Amazon SageMaker、VS Code对比
  • Linux:基础开发工具
  • CodeIgniter如何手动将模型连接到数据库
  • 游戏引擎学习第23天
  • 利用开源图床的技巧与实践
  • 【小白学机器学习34】基础统计2种方法:用numpy的方法np().mean()等进行统计,pd.DataFrame.groupby() 分组统计
  • day01
  • Golang面经
  • Pgsql:json字段查询与更新
  • 基于vite创建的react18项目的单元测试
  • 2023.11 Graph-Enriched Biomedical Language Models: A Research Proposal
  • localStorage缓存 接口 配置
  • 二,[ACTF2020 新生赛]Include1感谢 Y1ng 师傅供题。
  • Unity项目性能优化列表
  • 0-1背包问题(1):贪心算法
  • 【Unity踩坑】Unity中父对象是非均匀缩放时出现倾斜或剪切现象
  • Unity UGUI原理剖析
  • 【mac】终端左边太长处理,自定义显示名称(terminal路径显示特别长)
  • Flink学习连载文章8--时间语义
  • Flink cdc同步增量数据timestamp字段相差八小时(分析|解决)不是粘贴复制的!
  • ESP8266 + DHT11 + OLED0.96温湿度中文显示和MQTT(二)
  • 面试学习准备
  • 学习与理解LabVIEW中多列列表框项名和项首字符串属性
  • 旋转磁体产生的场 - 实验视频资源下载
  • 东方微电嵌入式面试题及参考答案