Maven进阶

发布时间 2024-01-06 16:42:17作者: 一往而深,


分模块开发的意义

  • 我们前面的开发都只有一个模块

分模块开发与设计

在上面ssm的代码中,我们的所有代码都是写在一个模块中的。我们现在将domain和dao部分,分离出来作为独立的2给模块

  • 一个注意点
    在我们拆分或者是写一个模块时,页需要去导入这个模块所需要的依赖

    我们这是做完后再拆解模块,在实际开发中就是直接创建模块进行开发的

我们使用install只能将模块加载到我们自己的本地仓库中,但是团队中其他人想要获取我的模块内容该怎样获取呢?
这个我们可以通过私服来解决,这个在最后一节课中会讲到

第二部分:依赖管理

依赖传递



  • 依赖冲突



可选依赖与排除依赖

我们将依赖标记为可选以来,在被被人引用的时候,可以避免依赖冲突,但是不影响自己访问


所以我们无法进行可选依赖,但是我们可以进行排除依赖达成这个目的



在开发中如果是使用第三方,我们一般使用排除依赖,如果是别人使用我们的,一般使用可选依赖

第三部分:继承与聚合

现在我们已经由单模块开发变成了多模块开发,但是多模块开发会带来一些问题

聚合


聚合工程的编写


继承


聚合和继承通常是一起编写的。我们将聚合工程作为我们的父工程。我们将子模块都会使用的依赖写到父工程的pom文件中。在子模块的pom文件中声明该模块继承自哪个模块

当我们的版本要做升级的时候,我们只需要升级父类模块的依赖版本,子类模块的该依赖的版本将都进行了升级

  • 1.将公共依赖抽取到父模块中
  • 2.定义依赖管理(当一个依赖并不是所有模块都要使用,可以在父模块将该依赖设置成依赖管理,在子模块在声明该模块才会被子模块继承使用)
  • 总结步骤




maven在打包成war的时候最起码需要有web.xml文件**

属性



这样我们可以统一控制我们依赖的版本

配置文件加载属性

解决问题,当打war包的时候,如果没有web.xml文件的时候不要报错?

解决步骤





maven的其他属性

实际上就是我们将属性文件中的值放在到maven仓库中,然后我们的属性文件到maven中读取对应的值

版本管理


第五部分:多环境配置与应用

多环境开发


如果我们在更换环境的时候需要更改pom.xml中的默认环境配置,这样就太麻烦了。所以我们通过执行附带环境id的maven指令替代,
这样就不用更改默认环境配置了


  • 对执行命令的解释

经验:我们在修改配置后需要将他们重新install到仓库中

跳过测试

测试过程可以保证我们程序打包时候是正确的。但是有一些特殊的情况我们希望不要给我们的程序进行测试

跳过测试的方法

  • 只能跳过全部测试
  • 可以跳过部分测试
    在pom.xml中配置跳过测试(排除掉一些东西)。maven中测试功能是由插件提供的

  • 使用命令跳过测试(好像也只能跳过全部的测试)


第六部分:私服

私服简介与安装



  • 使用





成功设置了密码888888

  • 总结

私服仓库的分类




我们现在希望,在上传的时候需要指定仓库,但是在下载的时候能不能不需要指定在哪个仓库里面下载呢?

本地仓库访问私服配置


关于本地仓库访问私服的配置在maven的settings.xml里面进行配置



仓库组的地址就是他的url地址
注意:如果我们重新在私服里面创建新的仓库,注意将新创建的仓库添加到仓库组中

私服资源上传和下载




当我们在聚合工程中执行上传指令,我们的工程都将执行上传指令。但是如果我们有的模块没有继承父模块此时指令将执行出错

  • 为什么此时只有一个快照仓库中有我们上传的资源呢?

我们发布的版本会更新,但是不会主动删除
我们怎样配置我们私服中代理仓库的资源从阿里云的镜像中下载呢?


关于私服的总结