maven分模块

为了项目方便耦合,可以从项目中抽取出一部分模块。再重新建一个新的模块并且放入该功能模块,然后在模块1中的pom文件里面添加依赖,但是要先在模块2里面的maven功能install刀本地的maven仓库,这样模块一导入的坐标才能用

依赖具有传递性:
直接依赖:当前文件直接在pom文件建立依赖关系
间接依赖:被资源的资源如果依赖其他资源,当前项目直接依赖其他资源

由此可见,依赖的版本不同的时候,会存在版本冲突
如果一个依赖存在多个版本,以最后配置的版本为准

maven中可以直观地查看依赖之间的关系


可选依赖:隐藏当前工程所依赖的资源,隐藏后 对应资源不具有依赖传递性


排除依赖:隐藏当前资源对应地依赖关系(只需要g和a,不需要标出版本)

可选依赖和排除依赖区别:
排除依赖:应用别人的依赖的时候,不想要用其中的某些依赖的时候,就用排除依赖
可选依赖:控制当前模块依赖的资源能不能被别人发现,就用可选依赖


# 聚合 #

在上面的的ssm_number模块修改后,不会影响前几个模块,因为没有继承关系,但是最下面的pojo实体类修改后,比如在pojo删除一个属性,因为其他类都要依赖该类,前三个模块都调用不到该属性了,为了方便管理这几个类,就需要把他们聚合,建立一个聚合工程去统一管理


新开的父模块中,中只有pom文件


继承

1、如果多个模块中的依赖是一样的,我们能不能简化?
2、如果多个模块中,只有部分模块的配置是一模一样的,能不能简化?
3、如果某些模块的配置版本有问题,能不能一次性修改所有模块中该配置的版本呢?


因为在子工程能使用父工程中的配置,所以将子配置所有的共性部分配置放至父工程中,这时候父工程中修改配置版本以后,所有的子工程中的配置版本也会随之改变,此处解决问题1,其中"relativePath"是版主定位父配置的路径,不写也可以使用

比如只有模块一二使用junit,而模块3不用,

在父类配置中新增一个依赖管理,此处意思为不强制子工程使用父中的该依赖,子想用的话需要自己加上,解决问题2

父工程如果在某一配置中添加了版本号,子继承的时候就不需要加上版本好,由父直接管理,解决问题3

总结继承的的流程如下:






posted on 2022-07-15 11:18  之火  阅读(32)  评论(0)    收藏  举报