zoukankan      html  css  js  c++  java
  • 为什么Spring Boot项目引入依赖的时候可以不指定依赖的版本号

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/codejas/article/details/79645663

    不知道大家在Spring Boot 项目中引入依赖的时候有没有注意到一个问题:引入的依赖不指定版本号,比如下面这样,但是也可以下载到对应的jar 包。

        <!-- 添加对JDBC 的支持 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
    • 1
    • 2
    • 3
    • 4
    • 5

    其实在Spring Boot 项目下的pom.xml文件中通常都会有一个<parent>标签,用来指定继承的父pom,如下:

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.10.RELEASE</version>
            <relativePath/>
        </parent>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    点进去后会发现spring-boot-starter-parent也继承自一个pom,如下:

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.10.RELEASE</version>
            <relativePath>../../spring-boot-dependencies</relativePath>
        </parent>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    再点进去就可以看到结果了,顶级的pom文件的坐标如下,通过<artifactId>标签我们应该知道这个pom文件时用来管理依赖版本号的。

        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>1.5.10.RELEASE</version>
        <packaging>pom</packaging>
    • 1
    • 2
    • 3
    • 4

    在这个pom.xml中定义了很多的<propertie>标签用来管理引入依赖和插件的版本。
    这里写图片描述
    在引入依赖的时候,即使你不指定依赖的版本,Spring Boot 也会通过Maven 的继承关系,引入依赖的版本,从而完成版本的统一。
    这里写图片描述
    当然你也可以不使用Maven继承的依赖版本,只需要在引入依赖的时候指定具体的依赖版本即可。

  • 相关阅读:
    Plus One
    Move Zeroes
    Valid Number
    对于人生道路的些许感慨
    关于session.getValueNames()的一个问题
    jsp记录
    alter和modify的区别
    关于新手SQL Server 2008数据库的首次使用出现的问题
    今年大二,要开始java的学习了,听前辈说记录一下自己的学习过程会有一些好处
    MFC多文档无法显示可停靠窗格
  • 原文地址:https://www.cnblogs.com/blwy-zmh/p/11777823.html
Copyright © 2011-2022 走看看