Maven项目中的依赖管理、RelativePath、Maven多模块项目中Base模块和Common模块

Maven项目中的依赖管理——dependencyManagement

通常会在一个组织或者项目的最顶层父pom中可以看到dependencyManagement元素

使用pom.xml中的dependencyManagement元素能让所有的子项目中引用一个依赖而不需要显示的列出版本号。

Maven会沿用父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用dependencyManagement元素中提供的指定版本号。

dependencyManagement的优点:

多个子项目引用同样的依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或者切换到另外一个版本时,只需要在顶层父容器更新版本号即可,不需要一个一个子项目中修改;另外如果某个子项目需要另外一个版本,则需要声明version即可。

RelativePath


1)指定查找该父项目pom.xml的(相对)路径。默认顺序:relativePath > 本地仓库 > 远程仓库
2)没有relativePath标签等同…/pom.xml, 即默认从当前pom文件的上一级目录找
3)表示不从relativePath找, 直接从本地仓库找,找不到再从远程仓库找


maven首先从当前构建项目开始查找父项目的pom文件,然后从本地仓库,最有从远程仓库。RelativePath允许你选择一个不同的位置。

多模块项目中

各个模块

xxx-service-base         用于编写业务逻辑 
xxx-service-common       用于存放一些公用的模块,比如说枚举,topic
xxx-service-socket       用于维护socket连接
xxx-service-vue          前端
xxx-service-web           web模块,为前端提供一些接口

Base模块

Base包是模块公用部分抽出来 Base包不对外暴露 其中基本全是业务代码(与业务相关的)。

 <!-- 阿里数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
        </dependency>
 
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <!--aop-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
 
        <!-- xxl-job-core -->
        <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

base包依赖于common包,可能用到common的枚举

 <dependency>
            <groupId>com.qcby</groupId>
            <artifactId>chat-service-common</artifactId>
        </dependency>

注意:公用的依赖会在base里面,但是如果web用不到,socket可以用到的依赖就可以只放在socket包中

Common模块

Common包基本不含业务代码 Common不含任何与业务相关的东西·

 该模块为全局公共模块,其它各模块以项目依赖的方式直接引用,在类中直接import该模块下的类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值