微服务——import解决Maven单继承问题

        微服务架构中创建的工程基本都是父子工程,这样我们在子工程中就可以直接引用父工程预设的Maven依赖了。但是,Maven的继承和Java的继承一样,是无法实现多重继承的,也就是说一个pom文件中只能有一个<parent>标签。

        这就造成一个问题,就是当父modle中需要在<dependencyManagement>中预设大量依赖的时候,​​​​​​​造成pom文件过长,十分不清晰。所以要将dependency分类,可以把每一类建立单独的pom文件,由于无法继续继承了,所以需要在使用到这些依赖的子model中,使用import scope导入依赖

<!--在父model中严禁直接使用<dependencies>预定义依赖,坏处是子model会自动继承<dependencies>中所有预定义依赖
    应使用dependencyManagement进行包裹,因为dependencyManagement是预定义依赖不会直接引入,而是子model需要时
    按需导入,-->
<dependencyManagement>
        <dependencies>
            <!-- springCloud -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
</dependencyManagement>

注意:scope=import只能用在dependencyManagement里面,且仅用于type=pom的dependency

猜你喜欢

转载自blog.csdn.net/yb941693493/article/details/128160224