`

maven的依赖

 
阅读更多

1、所有的依赖都是通过坐标来进行存储的(GAV-->groupId、artifactId、version)
2、有一些网上的仓库提供了坐标的查询(http://mvnrepository.com
3、通过<dependencies>设置依赖

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

4、maven是如何搜索依赖的?首先会在本地仓库查询如果本地仓库没有,就去中央仓库查询

 

5、依赖的传递性

 

依赖是会被传递
 A-->C  B-->A ==> B-->C(这种依赖是基于compile这个范围进行传递)



 对于依赖的传递而言,主要是针对compile作用域传递

 

6、传递的冲突问题

 

a-->b1.0  c-->b1.1  d-->a和c,这个时候在d的pom中,哪一个依赖先写就使用先写依赖的版本
如果d--><d>a</d><d>c</d>-->依赖版本是b1.0


a-->b1.0 c-->b1.1 d-->a和c-->b1.0  f-->d,c,如果路径的长短不一致就选择最小路径
    f-->b1.1

 

如果希望精确的控制依赖包,可以使用依赖的排除功能进行控制


 

 7、依赖的范围

 

test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖


compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去


provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突


runtime在运行的时候依赖,在编译的时候不依赖


默认的依赖范围是compile

 

  • 大小: 5.9 KB
  • 大小: 4.8 KB
分享到:
评论

相关推荐

    maven依赖小例子

    在这个名为“maven依赖小例子”的源码中,你可以看到如何实际配置和使用Maven依赖的示例。通过分析源码,你可以更好地理解Maven POM.xml文件的结构和依赖管理的工作方式。在实际开发中,熟练掌握Maven依赖管理不仅能...

    maven依赖包(用于博客项目)

    本资源“maven依赖包(用于博客项目)”显然包含了一系列与博客项目相关的Maven依赖,这些依赖可能包括数据库连接库、模板引擎、日志框架、安全组件以及其他有助于构建博客平台的Java库。 1. **Maven仓库**: ...

    maven依赖+继承+聚合

    首先,我们来讨论"Maven依赖"。在Java开发中,一个项目往往需要引用其他库或者框架来完成特定功能。Maven通过在`pom.xml`文件中声明依赖(dependencies)来管理这些外部库。依赖声明包括groupId、artifactId和...

    doris-1.1.3源码编译broker-maven依赖包repository

    《Doris 1.1.3 源码编译 Broker Maven 依赖包 Repository 深度解析》 Apache Doris 是一个高性能、分布式、在线分析处理(OLAP)的数据仓库系统,它提供了快速的数据查询能力,适用于大规模数据的实时分析。在Doris...

    springboot maven 依赖包3

    springboot 的maven依赖包,含有所有maven依赖,网络不好的可以来下。压缩包3.

    dubbox 2.8.4 版本 maven 依赖

    附件为:dubbox2.8.4 maven依赖文件。 使用方法:按照依赖关系,自行创建maven依赖文件夹后,将附件解压至指定文件夹即可使用。 可解决Missing artifact com.alibaba:dubbo:jar:2.8.4 dubbo问题。

    Maven 依赖详细理解.pdf

    依赖范围(scope)是Maven依赖管理的一个重要概念。scope定义了依赖项的使用范围,主要有以下几个选项:compile、provided、runtime和test。compile表示依赖项在编译时需要,provided表示依赖项在编译和测试时需要,但...

    springboot 的maven依赖包1

    springboot 的maven依赖包,含有所有maven依赖,网络不好的可以来下。

    elasticsearch 5.4.0 maven依赖jar包

    "elasticsearch 5.4.0 maven 依赖jar包" 指的是在 Maven 项目中使用 Elasticsearch 5.4.0 版本时,需要的全部依赖库文件。这些 jar 包包括 Elasticsearch 核心库、X-Pack 插件以及其他相关的第三方库,例如 Lucene、...

    jackson2.6.0 jar maven依赖.txt

    jackson2.6.0 jar maven依赖 jackson2.6.0 jar maven依赖jackson2.6.0 jar maven依赖jackson2.6.0 jar maven依赖jackson2.6.0 jar maven依赖

    Geoserver maven 依赖

    本篇将深入探讨"GeoServer Maven依赖"这一主题,以及如何在Java环境中使用Maven构建GeoServer相关的项目。 首先,Maven是Apache软件基金会的一个项目,它通过一个项目对象模型(Project Object Model,POM)来管理...

    jodconverter2.2.2.jar Maven依赖包

    标题“jodconverter2.2.2.jar Maven依赖包”涉及到的是一个Java开发中的关键组件,即JODConverter库的一个特定版本。JODConverter是一个开源的文档转换工具,它允许用户在Java应用程序中方便地将各种Office文档格式...

    maven依赖包2

    【标题】"maven依赖包2"涉及到的是Java开发中重要的构建工具——Maven的依赖管理部分。在Java世界里,Maven是一个广泛使用的项目管理和综合工具,它可以帮助开发者管理和构建Java项目,通过解决项目的依赖关系,使得...

    常用maven依赖

    将开发过程常用的maven依赖汇总下来了,不用每次都去maven仓库查询,可以节省很多时间

    SSM常用Maven依赖

    SSM基本的Maven依赖文件,测试可用

    dubbo项目maven依赖

    1. **依赖版本不匹配**:Dubbo项目依赖于许多其他库,如果本地Maven仓库中的依赖版本与项目中声明的不一致,可能导致编译失败。解决方法是更新Maven的settings.xml文件,或者在pom.xml中指定特定版本。 2. **网络...

    kettle7.2和8.2相关maven依赖包仓库

    kettle是国外开源的一款ETL集成工具,其最新版8.2版本改为了maven项目,由于其maven仓库下载实在太慢,这里提供了我费了一两天才下载好的依赖包,直接解压放在本地仓库即可。方便好使,好用的给个五星好评。

    基于Maven依赖的SSM AJAX增删改查demo

    基于Maven依赖的SSM项目 AJAX查询增删改查demo,前端Bootstrop 数据校验:jquery+JSR303后端校验,非常有利于框架初学者学习参考

    maven依赖包

    标题"maven依赖包"暗示了我们正在讨论的是Maven如何处理项目的外部依赖。在Java应用开发中,项目通常会依赖许多第三方库,如Spring、Hibernate、Apache Commons等。Maven的中央仓库存储了大量的开源项目JAR包,...

    activiti开发项目maven依赖POM文件

    基于ACTIVITI引擎进行开发,利用maven进行依赖管理,本文件列出来具体的依赖项

Global site tag (gtag.js) - Google Analytics