`

Maven依赖Scope标签用法

 
阅读更多

在一个maven项目中,如果存在编译需要而发布不需要的jar包,可以用scope标签,值设为provided。如下:

        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
            <classifier />
        </dependency>

scope的其他参数如下:

  • compile
    默认的scope,表示 dependency 都可以在生命周期中使用。而且,这些dependencies 会传递到依赖的项目中。适用于所有阶段,会随着项目一起发布
  • provided
    跟compile相似,但是表明了dependency 由JDK或者容器提供,例如Servlet AP和一些Java EE APIs。这个scope 只能作用在编译和测试时,同时没有传递性。????????
  • runtime
    表示dependency不作用在编译时,但会作用在运行和测试时,如JDBC驱动,适用运行和测试阶段。
  • test
    表示dependency作用在测试时,不作用在运行时。 只在测试时使用,用于编译和运行测试代码。不会随项目发布。
  • system
    跟provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。
  • import(Maven 2.0.9 之后新增)
    这个范围只用于一个依赖的类型pom在< dependencyManagement >部分。它表明指定的POM应该替换为依赖,POM的< dependencyManagement >部分。因为他们都更换了,依赖与范围import不实际参与限制及依赖。
分享到:
评论

相关推荐

    maven依赖关系中的&lt;scope&gt;provided&lt;/scope&gt;使用详解

    除了`provided`,Maven依赖的其他常见`scope`还包括: 1. **compile**:这是默认的`scope`,表示依赖在整个生命周期中都是可用的,并且会传递给依赖的项目。适用于所有阶段,会在最终的部署包中包含。 2. **...

    ojdbc8的maven依赖

    以下是ojdbc8的Maven依赖配置示例: ```xml &lt;groupId&gt;com.oracle.ojdbc&lt;/groupId&gt; &lt;artifactId&gt;ojdbc8 &lt;version&gt;19.7.0.0 &lt;scope&gt;compile&lt;/scope&gt; ``` 这里,`groupId`是`com.oracle.ojdbc`,`artifactId...

    maven依赖本地jar包

    ### Maven依赖本地JAR包的方法 #### 1. 使用`&lt;systemPath&gt;`标签 Maven提供了`&lt;scope&gt;system&lt;/scope&gt;`这一特殊作用域,用于指定本地文件系统上的特定路径,以便在构建过程中引用这些路径下的JAR文件。这种方式要求...

    契约测试jars by Maven依赖

    "契约测试jars by Maven依赖"这个主题,就是关于如何在Maven项目中引入契约测试的相关库。 Pact是一种流行的契约测试框架,它支持多种编程语言,包括Java。Pact的核心理念是“消费者驱动的契约”,即由消费者定义...

    scala库 by maven依赖

    在Scala项目中引入Maven依赖,首先需要在`pom.xml`文件中声明Scala和Scala库的版本。例如,如果我们要引入Scala库和ScalaTest库,我们需要添加如下配置: ```xml ... &lt;scala.version&gt;2.13.8 ...

    JSONObject相关jar包和maven管理jar包

    在Maven中,可以通过调整依赖的`&lt;scope&gt;`或者使用`&lt;exclusions&gt;`标签来避免冲突。 7. **测试与调试**:在实际项目中,使用JSONObject进行JSON操作后,通常需要进行单元测试以验证数据的正确转换。Maven也提供了集成...

    maven使用文档,maven使用文档

    以上内容涵盖了 Maven 的基本使用方法及其核心概念。对于初学者来说,理解 Maven 的工作原理及其命令行用法是非常重要的。随着对 Maven 的深入了解,开发者能够更好地利用 Maven 来优化项目构建流程,提升开发效率。

    maven使用方法

    ### Maven使用方法详解 #### 一、Maven简介与作用 **Maven** 是一款流行的构建工具,它通过提供一种项目对象模型(POM),帮助开发者实现构建过程的自动化,从而简化项目的构建流程。Maven 不仅是一款构建工具,...

    Maven配置项目依赖使用本地仓库的方法汇总(小结)

    当需要添加对第三方JAR文件的依赖时,可以使用&lt;scope&gt;system&lt;/scope&gt;来指定依赖,并通过标签指定JAR文件在本地系统上的路径。示例如下: ```xml &lt;groupId&gt;ldapjdk &lt;artifactId&gt;ldapjdk &lt;version&gt;1.0 &lt;scope&gt;...

    在Maven项目中,如何使用自己的jar包.zip

    然后运行`mvn install`命令,Maven会将这个jar包安装到本地仓库,之后就可以像引用其他Maven依赖一样引用它。 2. **在IntelliJ IDEA中配置本地jar包** - 打开IntelliJ IDEA,选择`File` -&gt; `Project Structure` -...

    解决maven项目找不到tools-1.8.0.jar的问题,缺失tools-1.8.0.jar包

    在Java开发中,Maven是广泛使用的构建工具,它帮助管理项目的依赖关系,自动化构建流程。然而,有时候在运行Maven项目时,可能会遇到找不到特定jar包的问题,比如本例中的`tools-1.8.0.jar`。这个问题通常表明Maven...

    maven3.8下载包

    Maven是Java世界中的一款强大的项目管理和构建工具,它极大地简化了软件项目的构建、依赖管理...了解并掌握其使用方法,对于Java开发人员来说是非常有价值的。通过下载并安装这个包,你就能开始体验Maven带来的便利了。

    第一个maven工程案例

    4. **Maven依赖管理** Maven通过`&lt;dependencies&gt;`标签管理项目依赖。当多个依赖库有相同但不同版本的依赖时,Maven会自动解决依赖冲突,遵循“最接近依赖原则”。同时,`&lt;dependencyManagement&gt;`可以用来统一管理子...

    使用ECLIPSE创建MAVEN工程图解

    本文将指导您如何使用Eclipse 创建 Maven 工程,并了解 Maven 的基本概念和使用方法。 一、创建 Maven 工程 在 Eclipse 中创建 Maven 工程非常简单,只需遵循以下步骤: 1. 打开 Eclipse,选择“File”菜单,然后...

    Maven 实战(中文pdf)

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

    Maven 使用入门.pdf

    Maven 是一款流行的 Java 项目管理和构建工具,它通过一套标准化的方法来简化项目的构建过程。Maven 的核心价值在于它能够简化项目构建过程,使得开发者能够更加专注于业务逻辑的开发。以下是 Maven 的主要优势: 1...

    Maven完全适用手册

    本手册将深入探讨Maven2的主要特点和用法。 **1. 更快、更简单的构建过程** Maven2的性能得到了显著提升,其构建速度可与Ant相媲美。这得益于优化的内部算法和更高效的依赖管理。 **2. 减少配置文件** Maven2的...

    Maven使用教程

    对于初学者而言,熟练掌握Maven的使用方法,将有助于提升个人技能,提高项目开发效率。通过本文的介绍,相信你已经对Maven有了较为全面的了解,不妨在实践中进一步探索Maven的强大功能,开启高效开发的新篇章。

    maven 实战 所有源代码

    通过对这些代码的分析和实践,读者可以更好地理解Maven的各个功能和用法。 总结,Maven通过规范化的项目结构、依赖管理和自动化构建流程,极大地提高了开发效率。通过学习并掌握"Maven实战"中的源代码,开发者可以...

Global site tag (gtag.js) - Google Analytics