模块之间的依赖,一种很好的写法

如下,我们将模块之间的依赖直接写在根项目中的dependencyManagement标签中:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>cn.tim</groupId>
            <artifactId>spring-security-oauth2-dependencies</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

为什么要将这部分移动到根目录的dependencyManagement标签中呢,因为如果将依赖代码分部到整个项目中是一件非常麻烦的事情,非常的不利用维护。从这个角度思考,我们自己开发的starter-parent完全可以在继承springboot的starter-parent后,加上我们的自己的各个client的版本仲裁,并提供变量允许各个项目自行精细化控制各个client的版本(这样真的好么,我不是太确信,没有实践过)。至于各个项目自己的common依赖,则直接写在自己的父项目中。