• 项目中我们各个微服务的POM详解


    我们一开始一定要检查我们的IDEA中maven有没有和我们的安装的位置对应上。否则后期很容易报错

    ①、在我们的父模块中有几个很重要的标签:

    第一个是我们的Modules标签,后期我们加入新的服务会自动在里面添加

    
            store-gateway
            store-commons
            store-front-user
        
    
    • 1
    • 2
    • 3
    • 4
    • 5

    ②、打包的方式:我们在父级工程或者聚合项目中,使用POM:表示我们父工程不打包,仅仅把它作为我们的POM依赖文件

    pom
    
    • 1

    1.pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。
    2.war工程:将会打包成war,发布在服务器上的工程。如网站或服务。
    3.jar工程:将会打包成jar用作jar包使用,packaging默认类型。

    ③、parent标签:通常用于指定我们的这个模块属于哪个工程。
    因为我们是springboot的项目,所以我们的父级项目肯定是springboot,而我们的项目中的各个服务父类项目都是我们父类
    既然是我们的父类是springboot,那么我们的各个依赖都会根据它(springboot版本)来进行导入,如果想导入别的版本自己标明

    
            org.springframework.boot
            spring-boot-starter-parent
            2.3.9.RELEASE
            
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    ④、properties表示我们的统一的版本,方便后期的维护和管理,如果没有指定,我们统一默认使用的是我们的springboot对应版本的版本。(可以按住Ctrl点击springboot版本,进去后再次点击即可查看)

    
            UTF-8
            UTF-8
            1.8
            Hoxton.SR10
            5.1.47
            2.1.1
            1.2.5
            3.5.2
            7.8.0
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    ⑤、dependencyManagement:其实他并不是导入真的依赖,而是我们的子工程如果使用ga(即groupId,artifactId),就可以导入我们父工程指定的版本(在properties中定义的)
    我们需要晓得一点,如果我们在dependencyManagment依赖中如果导入的是起步依赖的话(例如我们Spring-Cloud alibba-dependencies,spring-cloud-alibaba-nacos的GA就可以使用nacos,因为我们的起步依赖点开里面就有很多GA),我们的子类服务导入相应的依赖就可以使用。

    
    
            
                
                
                    org.springframework.cloud
                    spring-cloud-dependencies
                    ${spring-cloud.version}
                    pom
                    import
                
                
                
                    com.alibaba.cloud
                    spring-cloud-alibaba-dependencies
                    2.2.5.RELEASE
                    pom
                    import
                
                
                
                    mysql
                    mysql-connector-java
                    ${mysql.version}
                
                
                
                    org.mybatis.spring.boot
                    mybatis-spring-boot-starter
                    ${mybatis.version}
                
    
                
                    com.baomidou
                    mybatis-plus-boot-starter
                    ${mybatis-plus.version}
                
    
                
                    com.alibaba
                    druid-spring-boot-starter
                    ${druid.version}
                
            
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    ⑥、如果我们加在我们的

     
            
            
                org.projectlombok
                lombok
                1.18.24
            
     
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    总结:如果我们在项目中想一个模块作为Common模块,让每个人都可以引用他的里面所有类,我们需在他的lifecycle中install下载到我们库中。
    然后在别的模块中进行引用即可。

  • 相关阅读:
    Android Framework 常见解决方案(23)三方应用APP启动绑核setAffinity设置
    【图神经网络论文整理】(九)—— DeeperGCN: All You Need to Train Deeper GCNs
    【算法-动态规划】斐波那契第 n 项
    web网页设计—— 指环王:护戒使者(13页) 电影网页设计 在线电影制作 个人设计web前端大作业
    这是一个隐藏的(绝世武功)Java 学习路线图,祝你Offer拿到手软
    【SSM】Spring系列——IoC 控制反转
    MSF生成后门木马
    d类层次中同名字段
    WMS仓储管理系统如何保障仓库的安全性
    工业 web4.0 的 UI 卓越非凡
  • 原文地址:https://blog.csdn.net/ebdbbd/article/details/128040524