maven dependency中scope的取值类型

ops/2024/10/18 20:57:57/

在 Maven 中,`<scope>` 标签用于定义依赖项的范围,以指定依赖在不同阶段的可见性和生命周期。以下是 Maven 中常见的 `<scope>` 取值类型的详细介绍:

1. **compile**:
   - 默认的依赖范围,适用于编译、测试和运行阶段。
   - 依赖在项目的所有阶段都是可见的,并且会被打包到最终的产物中。
   
2. **provided**:
   - 适用于编译和测试阶段,但在运行时不会包含在产物中。
   - 典型用例是 Java EE 容器提供的 API,如 Servlet API。
   
3. **runtime**:
   - 适用于运行时和测试阶段,但不参与编译。
   - 运行时需要这些依赖,但在编译时不需要。
   
4. **test**:
   - 仅在测试阶段可见,不会被打包到最终的产物中。
   - 用于编写和运行测试的依赖。
   
5. **system**:
   - 类似于 `provided`,但需要显式提供路径。
   - 需要提供依赖的路径,而不是由 Maven 仓库管理。
   
6. **import**:
   - 仅在导入依赖的 POM 中有效,表示依赖由导入的 POM 提供。
   - 用于处理 BOM(Bill of Materials)依赖的传递性。
   
7. **compile-only**:
   - 与 `provided` 类似,但不会传递依赖。
   - 仅在编译时有效,不会在运行时传递到产物中。
   
8. **test-compile**:
   - 仅在测试编译阶段可用。
   - 用于依赖只在测试编译阶段需要的情况。
   
9. **system-test**:
   - 在系统测试阶段可用。
   - 通常用于系统测试时需要的依赖。

选择适当的 `<scope>` 取值类型对于正确管理 Maven 项目的依赖关系非常重要。不同的 `<scope>` 值会影响依赖在项目构建过程中的引入和使用方式。


http://www.ppmy.cn/ops/126559.html

相关文章

Android中的IntentService及其作用。

在Android开发中&#xff0c;处理后台任务是一个常见的需求。为了保证应用的流畅性和响应性&#xff0c;许多耗时操作需要在后台线程中执行。然而&#xff0c;直接管理后台线程可能会变得复杂且容易出错。为了简化这一过程&#xff0c;Android提供了IntentService&#xff0c;一…

一文搞懂springboot上传+下载文件的总体逻辑

Springboot文件上传下载问题 需要hutool的工具 hutool可以生成数据md5等一些工具 非常好用 依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.7</version></dependency><…

基于Spring Cloud的电商系统设计与实现——用户与商品模块的研究(上)

操作系统&#xff1a;Windows Java开发包&#xff1a;JDK1.8 项目管理工具&#xff1a;Maven3.6.0 项目开发工具&#xff1a;IntelliJIDEA 数据库&#xff1a;MySQL Spring Cloud版本&#xff1a;Finchley.SR2 Spring Boot版本&#xff1a;2.0.6.RELEASE 目录 用户模块—user-…

机器学习可解释性

机器学习的稳健性、可解释性和结果正确性等是人工智能安全可信应用必须解决的关键问题。 传统机器学习&#xff1a; 内置可解释性&#xff1a;决策树IF-Then规则&#xff0c;直观可理解事后可解释性&#xff1a;训练结束后的可解释技术特定于模型体系结构的解释与解释方法及模…

manjaro kde 24 应该如何设置才能上网(2024-10-13亲测)

要在 Manjaro KDE 24 上设置网络连接&#xff0c;可以按照以下步骤进行设置&#xff0c;确保你能够连接到互联网&#xff1a; 是的&#xff0c;你可以尝试使用一个简单的自动修复脚本来解决 Manjaro KDE 中的网络连接问题。这个脚本将检查网络服务、重新启动 NetworkManager、…

InternVid:用于多模态视频理解与生成的大规模视频-文本数据集 | ICLR Spotlight

InternVid 是一个开源的大规模视频-文本数据集&#xff0c;旨在促进视频理解和生成任务的发展&#xff0c;由上海人工智能实验室与南京大学、中国科学院等单位联合发布&#xff0c;相关的工作已经被ICLR2024接收。它包含超过 700 万个视频&#xff0c;总时长近 76 万小时&#…

从深海探测到海洋强国:数字孪生助力海洋装备跨越式发展

海洋广袤无垠&#xff0c;蕴藏着丰富的资源。近现代以来&#xff0c;人类使用各种手段探索海洋探索&#xff0c;广袤无垠的海洋与人类的生活越来越紧密&#xff0c;至少10亿人口摄入的蛋白质来自海洋&#xff0c;全球超过90%的货物、数据信息交流在海洋中转&#xff1b;海洋中丰…

高级java每日一道面试题-2024年10月17日-Web篇-常见的web攻击有哪些?

如果有遗漏,评论区告诉我进行补充 面试官: 常见的web攻击有哪些&#xff1f; 我回答: 常见的 Web 攻击种类繁多&#xff0c;攻击者利用各种漏洞和技术手段来入侵网站、窃取数据或破坏服务。以下是一些最常见的 Web 攻击类型及其简要说明&#xff1a; 1. SQL 注入 (SQL Inje…