• maven引入依赖问题


    dependencyManagement与dependencies区别

      dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显式的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;

          生效方式: 只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项 ,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

      dependencies即使在子模块中不写该依赖项,那么子模块仍然会从父项目中继承该依赖项(全部继承)。

    总结:

    pom引入包进行良好的代码规划 会使得项目更容易维护,举例说明

        在cloud项目中,子项目都会用到spring-cloud-starter-bootstrap启动器。这就可以写到dependencies里,父层有,子一定会有。

                还有些不一定所有项目都用,但是需要统一版本的com.github.pagehelper插件,就可以在父级dependencyManagement声明,如果子有引用该插件,则可以不填写版本号,统一会用父级的。

    一、划定版本 配置

     <properties>
            <spring-cloud.version>2020.0.4</spring-cloud.version>
     </properties>

    二、声明依赖  此标签内的只是声明,子并不会有引用

     <dependencyManagement>
            <dependencies>
    
                <!-- SpringCloud 微服务 -->
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>${spring-cloud.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
             </dependencies>
     </dependencyManagement>

    三、引用依赖  此标签引用 子项目也一定会有

        <dependencies>
            <!-- bootstrap 启动器 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-bootstrap</artifactId>
            </dependency>
        </dependencies>
  • 相关阅读:
    ASP.net 网站项目:Fckeditor使用StepByStep
    SQL2005触发器写法
    Android 中 PopupWindow使用
    storyboard学习笔记-1
    判断两矩形是否相交
    CListCtrl 使用
    字符串和数字之间的转换(Unicode)
    【转】全特化/偏特化
    判断点是否在多边形内——射线法
    c++强制转化
  • 原文地址:https://www.cnblogs.com/gjths/p/16194440.html
Copyright © 2020-2023  润新知