美文网首页
8 项目统一相同依赖/插件的版本号

8 项目统一相同依赖/插件的版本号

作者: 笑Skr人啊 | 来源:发表于2020-03-23 14:13 被阅读0次

    1 为什么要统一依赖与插件

    • 项目依赖结构如下
    
    A ->
        C-1.0
    
    A ->
        B-1.0 ->
            C-2.0
    

    项目A依赖项目B-1.0与项目C-1.0,项目B-1.0依赖项目C-2.0,此时对项目A进行打包,按照Maven的就近原则,A.jar中只会存在C-1.0.jar,调用只存在项目C-2.0中的方法或类时,就会出现典型的XXX not found问题(插件同理)

    2 如何统一依赖

    • 新建父工程将各个模块/项目聚合起来
    • 依据<dependencyManagement>标签与<pluginManagement>标签的特性,将项目中所有依赖/插件都放入标签中
    • 子工程需要某个依赖/插件时,只需在子工程的pom中声明groupId和artifactId即可,无需要声明version版本号(全部放在父工程中统一声明),强制约束所有子工程的相同依赖的版本一致

    3 项目中使用

    父工程
    <dependencyManagement>
        <!--定时任务-->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.1</version>
        </dependency>
    </dependencyManagement>
    ---------------------------------------------------------------------------------------------------------
    子工程
    <dependencies>
        <!--定时任务-->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
        </dependency>
    </dependencies>
    

    在父工程声明,在子工程继承,如子工程不继承该依赖,该依赖是不会下载到子工程中

    相关文章

      网友评论

          本文标题:8 项目统一相同依赖/插件的版本号

          本文链接:https://www.haomeiwen.com/subject/jxrwyhtx.html