`

maven中scrope元素的使用【非原创】

阅读更多

       新公司用maven管理jar包依赖关系,使用学习中的一些东西记录在此,刚学习了下scope的使用, 转载一个51CTO的文章, 进行备忘!

      依赖范围控制哪些依赖在哪些classpath 中可用,哪些依赖包含在一个应用中。让我们详细看一下每一种范围:

 

compile (编译范围)

compile是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath 中可用,同时它们也会被打包。

provided (已提供范围)

provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用。例如, 如果你开发了一个web 应用,你可能在编译 classpath 中需要可用的Servlet API 来编译一个servlet,但是你不会想要在打包好的WAR 中包含这个Servlet API;这个Servlet API JAR 由你的应用服务器或者servlet 容器提供。已提供范围的依赖在编译classpath (不是运行时)可用。它们不是传递性的,也不会被打包。

runtime (运行时范围)

runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如,你可能在编译的时候只需要JDBC API JAR,而只有在运行的时候才需要JDBC
驱动实现。

test (测试范围)

test范围依赖 在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用。

system (系统范围)

system范围依赖与provided 类似,但是你必须显式的提供一个对于本地系统中JAR 文件的路径。这么做是为了允许基于本地对象编译,而这些对象是系统类库的一部分。这样的构件应该是一直可用的,Maven 也不会在仓库中去寻找它。如果你将一个依赖范围设置成系统范围,你必须同时提供一个 systemPath 元素。注意该范围是不推荐使用的(你应该一直尽量去从公共或定制的 Maven 仓库中引用依赖)

 

原文地址:http://drizzlewalk.blog.51cto.com/2203401/665590

 

分享到:
评论

相关推荐

    使用Maven导入Maven工程的视频教程

    使用Maven导入Maven工程的视频教程 仅供学习交流! 后续会持续分享相关资源,记得关注哦! 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入...

    springboot(web项目,非maven)

    标题中的“springboot(web项目,非maven)”指的是一个基于Spring Boot框架构建的Web应用程序,但它不是使用Maven作为构建工具。Spring Boot简化了Java Web应用的开发过程,提供了快速构建可运行的应用程序的方式,而...

    Maven2中文使用手册

    Maven 使用一组独特的标识来唯一确定一个库,这包括 `groupId`、`artifactId` 和 `version`,类似于 Java 中的包名、类名和版本号。 3. **依赖管理(Dependency Management)** Maven 自动处理项目依赖关系,只需...

    MAVEN+JENKINS使用教程

    其次,需要在MYECLIPSE中配置MAVEN插件,以便在MYECLIPSE中使用MAVEN。 2.1 配置环境变量 在Windows操作系统中,可以通过右键点击“计算机”图标,选择“属性”,然后选择“高级系统设置”,在“高级”选项卡中,...

    maven安装maven安装maven安装maven安装maven安装

    maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...

    maven使用文档,maven使用文档

    - Maven 允许在 POM 文件中使用 exclusions 来排除不需要的依赖。 - 例如,如果一个依赖项引入了一个不需要的依赖,可以通过 `<exclusions>` 节点来排除它。 9. **settings.xml 文件详解** - **Local ...

    Maven在企业中的使用

    ### Maven在企业中的使用 #### Maven概述与特性 Maven是一种强大的项目管理和综合工具,尤其在Java项目中扮演着至关重要的角色。它不仅继承了Ant的构建能力,更进一步提供了高级项目管理工具,弥补了Ant在项目管理...

    在IDEA的maven项目中连接并使用MySQL8.0的方法教程

    1.使用骨架创建maven项目,此处选择:maven-archetype-quickstart 2.填入GroupId和ArtifactId 3.第一个选中maven安装的文件夹,第二个选中maven安装文件夹中的conf/settings.xml,第三个如果settings.xml中配置了...

    maven详细使用教程

    maven详细使用教程 maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。maven的主要作用是解决项目中存在的问题,如多个项目之间的依赖关系、测试方法的执行和仓库的管理等。 maven的...

    jpress非maven版本

    然而,并非所有的项目都选择使用Maven作为构建工具,JPress的非Maven版本就是为那些不喜欢或者不习惯使用Maven的用户提供的一种选择。这种版本通常会提供一个完整的项目结构,包含所有必要的库和配置文件,用户可以...

    Maven中scope详细说明

    例如,你可能需要在测试中使用 JUnit 框架,但是在实际应用中不需要。test 依赖的使用可以使得测试更方便。 system(系统范围) system 范围依赖与 provided 类似,但是你必须显式的提供一个对于本地系统中 JAR ...

    非maven springboot项目

    然而,通常我们使用Maven或Gradle作为构建工具来管理Spring Boot项目的依赖。但是,有时由于特定需求或环境限制,可能需要创建一个不依赖于Maven的Spring Boot项目。本篇文章将详细讲解如何搭建一个非Maven的Spring ...

    ​实现maven项目中多版本依赖兼容使用解决方案

    在Java开发中,Maven作为主流的构建工具,管理着项目的依赖关系。然而,当项目引入多个库时,可能会遇到依赖冲突的问题。依赖冲突通常发生在两个或更多库使用相同类的不同版本时,Maven默认会选择最高版本的依赖,但...

    maven安装与使用

    ### Maven安装与使用详解 ...通过以上步骤,您已经掌握了Maven的基础安装与配置,以及如何在Eclipse中使用Maven进行项目管理。Maven的强大之处在于它能够自动化许多常见的构建任务,极大地提高了开发效率。

    IDEA插件推荐之Maven-Helper的教程图解

    开发者只需要在 IDEA 插件市场中搜索 Maven Helper,然后安装并重启 IDEA 就可以开始使用。需要注意的是,在国内网络连接 JetBrains 服务器可能会比较慢,需要使用代理服务器来加速安装过程。 5. Dependency ...

    MAVEN POM元素参考

    - `build/plugins`: 配置构建过程中使用的Maven插件,包括`groupId`, `artifactId`, `version`,以及插件的目标(goals)和配置参数。 - `build/pluginManagement`: 类似于`dependencyManagement`,提供插件版本和...

    idea使用maven创建web项目详细教程

    在 IDEA 中使用 Maven 之前,需要先安装 Maven。在 Maven 官方网站(http://maven.apache.org/)下载 Maven,并按照安装向导安装。 2. 配置 Maven 环境 在 IDEA 中配置 Maven 环境,首先打开 IDEA,选择 File --> ...

    maven及其安装和使用.7z

    ### IDEA中使用Maven 1. **导入Maven项目**:在IDEA中,选择`File` -> `New` -> `Project from Existing Sources`,然后选择Maven项目的`pom.xml`文件。 2. **配置IDEA的Maven设置**:进入`File` -> `Settings`...

    李兴华maven配置与使用

    **李兴华maven配置与使用** Maven是一款强大的项目管理工具,主要应用于Java开发领域。它通过统一的构建过程,简化了项目的构建、依赖管理和文档生成,使得开发者能够更专注于代码本身。以下是对Maven配置与使用的...

    maven插件及其使用方法

    在本文中,我们将深入探讨Maven插件的使用方法以及如何在实际开发中有效地利用它们。 首先,了解Maven的生命周期至关重要。Maven生命周期包括清理(clean)、初始化(initialize)、构建(compile)、测试(test)...

Global site tag (gtag.js) - Google Analytics