zoukankan      html  css  js  c++  java
  • Spring Cloud微服务实战 打造企业级优惠券系统 2-3 Maven多模块项目

    0    课程地址

    https://coding.imooc.com/lesson/380.html#mid=28219

    1    重要内容
    1.1  depencyMangeMent和dependency的区别

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

    dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且versionscope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

    一般我们都使用dependencyManagement

    1.2  相关特性

    a  父模块pom文件的配置(packaging必须为pom):

    <groupId> com.imooc.coupon</groupId>
    <artifactId> imooc-coupon</artifactId>
    <packaging>pom</packaging>
    <version>0.0.1-SNAPSHOT</version>

    b  聚合子模块:使用modules标签

    <modules>
    <module>coupon-common</module>
    <module>coupon-template</module>
    <module>coupon-settlement</module>
    <module>coupon-distribution</module>
    </modules>

    c  父模块统一管理依赖包 使用dependencyManagement标签

    <!--标识Springcloud 的版本-->
    <
    dependencyManagement> <dependencies> <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>

    d  子模块需要在pom中声明父模块:使用parent标签

    <parent>
    <artifactId>imooc-coupon</artifactId>
    <groupId>com.imooc.coupon</groupId>
    <version>0.0.1-SNAPSHOT</version>
    </parent>
    2    其他内容
    2.1  为什么使用多模块项目

    a  解决编译时间长的问题。

    b  继承重用。

  • 相关阅读:
    golang的select典型用法
    vscode配置git和提交代码到github教程
    VsCode中好用的git源代码管理插件GitLens
    GoMock框架使用指南
    golang对结构体排序,重写sort
    Go语言开发Prometheus Exporter示例
    golang 字符串拼接性能比较
    golang中的strings.Compare
    各大厂分布式链路跟踪系统架构对比
    NV triton启动方式说明
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/14232948.html
Copyright © 2011-2022 走看看