自学内容网 自学内容网

管理依赖版本-maven工程parent项目巧配置

  本文目标:开发人员,在了解pom文件properties、dependencyManagement标签用法的条件下,进行依赖包版本统一维护,达到统一维护项目依赖jar包版本的程度。

1 场景

  maven工程多模块项目,不同项目引用相同包,随着工程体量增大,容易在变更依赖包版本出现遗漏,出现不同模块引用的包版本不同问题。

版本不一致问题
  比如截图例子中,工程包含“mg-fre”、“mg-scr”两个模块,同时在各自的pom文件中,引入“slf4j-api”依赖包,出现版本不一致现象。

2 要点

  在parent项目中,使用“properties”、“dependencyManagement”标签,可以解决该问题。

  “properties”标签用于定义依赖包版本号,“dependencyManagement”标签用于声明引入依赖包时使用的版本。

  parent项目pom文件添加如下内容:

<properties>
    <org.slf4j.version>2.0.8</org.slf4j.version>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${org.slf4j.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

  此时,在真正引入依赖包的位置,删除“version”标签。

  “mg-fre”模块pom文件引入位置修改为:

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>
</dependencies>

  “mg-scr”模块pom文件引入位置修改为:

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>
</dependencies>

  修改后,重新刷新maven依赖,可以看到,不同模块的“slf4j-api”版本已经统一。

版本统一
  后续再变更maven项目依赖包版本时,只需要在parent项目的pom文件中,统一修改“properties”定义的版本号即可,不同模块引入的依赖包版本会统一变更,不会出现版本不一致问题。

3 总结/练习

  本文介绍了在parent项目pom文件中,统一配置依赖包版本的方法。

  可以尝试在自己的项目中,使用“2 要点”章节的方法,进行依赖包版本统一维护,达到统一维护项目依赖jar包版本的效果。


原文地址:https://blog.csdn.net/u013025955/article/details/142332839

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!