MAVEN02_依赖范围+依赖冲突+解决冲突+继承聚合(四)

简介: ④. 版本锁定[ 掌握 ]④. 分模块构建maven工程①. 分模块构建maven工程分析②. maven工程的继承③. maven工程的聚合

④. 版本锁定[ 掌握 ]


  • ①. 采用直接锁定版本的方法确定依赖jar包的版本,版本锁定后则不考虑依赖的声明顺序或依赖的
  • 路径,以锁定的版本为准添加到工程中,此方法在企业开发中经常使用
  • ②. 版本锁定的使用方式:


  1. 在dependencyManagement标签中锁定依赖的版本


微信图片_20220107114417.png


在dependencies标签中声明需要导入的maven坐标


微信图片_20220107114440.png


④. 分模块构建maven工程


①. 分模块构建maven工程分析


①. 不管是下面那种拆分方式,通常都会提供一个父工程,将一些公共的代码和配置提取到父工程中进行统一管理和配置


按照业务模块进行拆分,每个模块拆分成一个maven工程,例如将一个项目分为用户模块、订单模块、购物车模块等,每个模块都对应一个maven工程


按照层进行拆分,例如持久层、业务层、表现层等,每个层对应就是一个maven工程


②. 图解


微信图片_20220107114505.png


②. maven工程的继承


①. 在Java语言中,类之间是可以继承的,通过继承,子类就可以引用父类中非private的属性和方法。同样,在maven工程之间也可以继承,子工程继承父工程后,就可以使用在父工程中引入的依赖。继承的目的是为了消除重复代码


②. 被继承的maven工程通常被称为父工程,父工程的打包方式必须为pom,所以我们区分某个maven工程是否为父工程就要看这个工程的打包方式是否为pom


③. 继承其他maven父工程的通常称为子工程,在pom.xml文件中通过parent标签进行父工程的继承


微信图片_20220107114549.png


③. maven工程的聚合


①. 在maven工程的pom.xml文件中可以使用<modules>标签将其他maven工程聚合到一起,聚合的目的是为了进行统一操作


②. 例如拆分后的maven工程有多个,如果要进行打包,就需要针对每个工程分别执行打包命令,操作起来非常繁琐。这时就可以使用modules标签将这些工程统一聚合到maven工程中,需要打包的时候,只需要在此工程中执行一次打包命令,其下被聚合的工程就都会被打包了


微信图片_20220107114612.png

相关文章
|
7天前
|
存储 安全 Java
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
20 4
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
|
2天前
|
Java Maven
Maven 引入外部依赖
在 Maven 项目中引入外部库如 ldapjdk.jar,需将其置于`src/lib`并添加到`pom.xml`的`dependencies`中
|
10天前
|
Java Maven
Maven 引入外部依赖
在 Maven 项目中引入外部依赖,如 LDAP 帮助库 ldapjdk.jar,通常涉及将 jar 放入 `src/lib` 并在 `pom.xml` 添加系统依赖
|
3天前
|
数据可视化 Java Apache
Maven Dependency Tree:深入理解你的项目依赖
Maven Dependency Tree:深入理解你的项目依赖
16 0
|
3天前
|
XML Java 数据库连接
技术笔记:Maven的pom.xml(坐标的gav、依赖的scope)
技术笔记:Maven的pom.xml(坐标的gav、依赖的scope)
11 0
|
5天前
|
Java Maven
Maven 引入外部依赖
在 Maven 项目中引入外部库如 ldapjdk.jar,通常涉及将 jar 存放在 `src/lib` 并在 `pom.xml` 添加系统依赖。
|
5天前
|
SpringCloudAlibaba Java Maven
关于拆分boot工程的踩坑之maven多模块间的依赖关系处理
关于拆分boot工程的踩坑之maven多模块间的依赖关系处理
|
19天前
|
Java Apache Maven
Maven 项目文档
本教程聚焦于创建Maven项目文档。在C:/MVN目录下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`生成java项目。
|
12天前
|
Java Apache Maven
Maven 项目文档
在`C:/MVN/consumerBanking`中创建Maven Java项目,使用命令`mvn archetype:generate`生成基础结构。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`,版本至少为3.3和2.7,以避免`NoClassDefFoundError`。运行`mvn site`生成文档。
|
19天前
|
Java 编译器 Maven
使用intellij idea搭建SSM架构的maven项目 详细
使用intellij idea搭建SSM架构的maven项目 详细
35 4