`
huyuchengus
  • 浏览: 48169 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

maven 依赖关系中 Scope 属性

阅读更多
在POM 中,<dependency>中还引入了<scope>,它主要管理依赖的部署。

目前<scope>可以使用6个属性

* compile,这是 Maven 项目进行编译的时候确定的默认属性。如果你没有为你的包依赖制定任何属性,那么默认采用的是这个属性。编译的依赖关系是一个项目的所有类路径。适用于所有阶段,会随着项目一起发布。

* provided,与 compile 类似,这非常类似于编译,但表示你期望你的工程使用服务器上的 JDK 和 容器中提供的包。例如,当构建一个Java企业版的Web应用程序时,你会设置Servlet API和相关的Java EE API 提供的依赖范围。Web容器已经为你提供了这些类了。这个范围是仅在编译和测试中有效,不会将这个包打包到你的发行项目中。

* runtime,这属性只在运行和测试时候使用的类,这个包不参与项目的编译。

* test,通常我们不会定义一个包的依赖类型,因为这个包在测试和编译中使用,用于编译和运行测试代码。不会随项目发布。

* system,类似provided,你需要明确提供所需要包的路径,Maven不会在Repository中查找它。

* import (仅在 Maven 2.0.9 或者更新版本中有效)
这个属性仅仅用户在标签 <dependencyManagement> 中定义的内容有效。它指明了一个包的依赖关系,特定的 POM 依赖会取代掉另外 POM's <dependencyManagement> 标签中的内容。当这个替换完成后,scope 将会导入到 <dependencyManagement> 中,这个只是 import 依赖关系。

maven 依赖关系中 Scope 属性
http://www.ossez.com/forum.php?mod=viewthread&tid=14728&fromuid=426
分享到:
评论

相关推荐

    简单的maven父子依赖的sample

    本示例“简单的maven父子依赖的sample”旨在介绍如何在Maven项目中设置父子模块间的依赖关系,以便更好地组织和管理大型项目。 在Maven中,父子依赖(也称为多模块项目)是一种结构,其中一个项目作为父项目,包含...

    maven 实用指南 中文

    **二、Maven依赖管理** 1. **声明依赖(Dependency Declaration)**:在POM中声明项目所需的外部库,Maven会自动下载并管理这些依赖及其依赖的依赖。 2. **依赖范围(Dependency Scope)**:不同类型的依赖有不同...

    Maven 实战(中文pdf)

    此外,书中的内容还会涵盖Maven的依赖管理和解决冲突的方法,如使用 exclusion 标签排除不想要的依赖,以及使用scope属性控制依赖的范围。读者还将了解到Maven仓库的概念,包括本地仓库、远程仓库和中央仓库,以及...

    Maven权威指南 中文完整版清晰 完整目录

    - 依赖范围:理解scope属性,如compile、runtime、test、provided和system等。 - 依赖冲突解决:讲解Maven的依赖解决策略,如第一声明者优先原则和最新适用版本原则。 5. **插件和构建配置** - Maven插件:介绍...

    maven Springmvc 4.16 环境搭建

    Maven是一个项目管理和综合工具,它帮助管理项目的构建、报告和依赖关系。 首先,让我们从安装和配置Maven开始。确保你已经安装了Java Development Kit (JDK),因为Maven需要Java环境来运行。你可以从Oracle官网...

    Maven的Dependency测试

    1. **Maven依赖管理** Maven的`dependency`标签用于在`pom.xml`文件中声明项目所依赖的外部库。这些依赖可以是JAR文件,也可以是其他Maven项目。依赖管理包括指定依赖的`groupId`(组织ID)、`artifactId`(项目ID...

    Maven完全适用手册

    Maven是一款强大的Java项目管理和集成工具,它通过XML格式的配置文件(pom.xml)来管理项目的构建、报告和依赖关系。Maven2相较于其前身Maven1进行了大量改进,提供了更高效、简洁的体验。本手册将深入探讨Maven2的...

    maven 实战 所有源代码

    Maven的依赖管理能自动解决项目之间的依赖关系。当项目A依赖于B,而B又依赖于C时,Maven会自动将C的jar包引入到项目A中,这就是传递性依赖。`mvn dependency:tree`命令可以查看项目完整的依赖树。 ### 五、插件及其...

    maven 安装包

    同时,Maven支持依赖范围(scope),如compile、runtime、test、provided和system,定义了依赖在不同构建阶段的可见性。 总结,Maven是Java开发中不可或缺的工具,它提供了一套标准的项目管理框架,极大地提高了...

    Maven中文开发指南+实战教程+学习笔记

    - 依赖范围(scope):如compile、runtime、test等,决定依赖在哪些阶段可用。 5. **插件管理** - Maven插件用于执行特定的任务,如打包、测试、部署等。 - 插件配置在POM中,包括插件的groupId、artifactId、...

    springboot2+activiti 7 -- maven工程依赖配置和创建表结构

    ### 二、配置Maven依赖 打开`pom.xml`文件,添加Activiti 7的依赖。在`dependencies`标签内,加入以下代码: ```xml &lt;groupId&gt;org.activiti &lt;artifactId&gt;activiti-spring-boot-starter &lt;version&gt;7.x.y ``` ...

    apache-maven-3.5.0-bin.zip

    Maven自动处理项目的依赖关系,如果一个项目依赖A,而A又依赖B,那么Maven会自动将B也引入到项目中。同时,Maven提供了一种依赖范围(scope)的概念,如`compile`、`runtime`、`test`等,来控制依赖在不同环境下的...

    Maven 最新免安装版本

    3. **依赖管理 (Dependency Management)**:Maven自动管理项目依赖关系,通过POM文件声明依赖,Maven会自动下载并管理这些依赖。 4. **插件 (Plugins)**:Maven使用插件执行构建任务,如编译、测试、打包、部署等。...

    maven 安装包用于项目管理

    - Maven会自动解决依赖关系,将所有依赖项加入到项目中。 3. **Maven安装与配置** - 下载Maven安装包,例如`apache-maven-3.0.5`,解压到指定目录。 - 配置环境变量,设置`MAVEN_HOME`指向Maven的安装路径,并将...

    apache-maven-3.1.0

    - POM(Project Object Model):POM是Maven中的核心概念,它是一个XML文件,包含了项目的基本信息,如项目名称、版本、开发者信息、依赖关系、构建目标等。 - 依赖管理:Maven通过POM文件自动管理项目的依赖关系...

    maven2快速入门教程

    3. **依赖范围**:scope属性定义依赖在哪个阶段有效,如compile、test、runtime等。 ### 七、Maven的Repository 1. **本地仓库**:默认在用户主目录的`.m2\repository`下。 2. **中央仓库**:默认使用Maven的中央...

    maven使用方法

    其中,`pom.xml` 文件是 Maven 项目的核心配置文件,它定义了项目的元数据以及构建过程中的依赖关系等。 ##### 2.2 常用命令 - `mvn clean compile` - 清理输出目录 `target/`,并编译项目主代码。 - `mvn clean ...

    maven教程-v1.0

    #### Maven依赖管理 - **依赖排除**:在`pom.xml`中使用`&lt;exclusions&gt;`元素来排除不必要的依赖。 - **依赖传递**:当项目依赖另一个项目时,该依赖也会传递到当前项目中,除非明确排除。 #### Maven自动化部署 - ...

Global site tag (gtag.js) - Google Analytics