maven|maven进阶


目录

  • 分模块开发意义
  • 依赖管理
    • 依赖传递
    • 依赖冲突
    • 可选依赖
    • 排除依赖
  • 继承
  • 属性
  • 私服

分模块开发意义
  • 将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享。
    将项目spring-mybaits中的com.wangpeng.pojo中的POJO类抽取出来,放入一个单独的项目中去,即项目pojo。
    maven|maven进阶
    文章图片

    maven|maven进阶
    文章图片

    然后再将pojo依赖添加到spring-mybatis中的pom.xml文件中去。
    maven|maven进阶
    文章图片
maven|maven进阶
文章图片

通过maven指令 install 是将模块打成jar包保存在本地仓库中。
maven|maven进阶
文章图片

依赖管理 依赖传递
  • 直接依赖:在当前项目中通过依赖配置建立的依赖关系
  • 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
maven|maven进阶
文章图片

依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成了包版本冲突。
那么应该解析哪个jar包,这里就涉及到了一系列规则了。
  • 特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的
  • 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高
  • 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
可选依赖 可选依赖是隐藏本身,外界访问不到。
maven|maven进阶
文章图片

maven|maven进阶
文章图片

排除依赖 排除依赖可以简单的理解为去其糟粕,取其精华。
maven|maven进阶
文章图片

继承 概念:继承描述的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承。
maven|maven进阶
文章图片

如果不想父类中的依赖全部都被子类继承的话,可以定义依赖管理器。下图中父模块中依赖管理器中定义了druid依赖包。
maven|maven进阶
文章图片

这时你会发现,son模块中没有druid模块。
如果你想要使用父模块中的依赖,则需要在子类中写入druid依赖
maven|maven进阶
文章图片

maven|maven进阶
文章图片

属性 spring版本不一致会导致错误,所以可以定义一个属性将版本号保存·起来。然后要使用的时候用 ${属性名}
maven|maven进阶
文章图片

maven|maven进阶
文章图片

私服 私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题。
【maven|maven进阶】Nexus Repository

    推荐阅读