maven高级配置

本文介绍了maven在大型项目中的高级应用,包括工程拆分以提高开发效率,通过工程聚合和父模块管理子模块,依赖传递的原则,版本锁定以及如何定义版本常量,确保子项目能继承父项目的依赖。这些技巧有助于优化项目结构和管理。
摘要由CSDN通过智能技术生成
1.工程的拆分

面对当今互联网+的行业,软件项目十分变得越来越庞大,复杂程度越来越高,工程拆分提高了开发与管理的成本,工程拆分可以实现分模块开发与测试,可实现多线程开发与管理,提高工程代码的复用度,同时也提高了软件的开发速度和效率。
在这里插入图片描述

2.工程的聚合

我们把项目拆分成多个子模块后,独立运行各个模块是无法完成软件项目要求的,,只有把他们整合起来,分工合作才能完成工作,因此需要父工程来管理各个子模块,把他们聚合在一起运行,各个子模块可以打成一个独立的可运行的war包。

3.子模块继承父模块的理解

类似Java类的继承,都是为了消除重复,子类继承父类,父类里面的属性与方法在子类中就不需要在定义与实现了,使用的时候直接调用父类就可以,我们把crm拆分后,有一个父工程,子工程要用到的依赖都可以在父工程pom.xml中定义好,将来子工程在开发的时候就不用在引用jar包的坐标了。

4.依赖传递的两个原则
  • 第一声明者优先原则
    在pom.xml谁先声明,就用谁,坐标代码的顺序越靠前,就用谁。

  • 路径最短优先原则
    直接引入肯定比依赖的引入路径短。

5.版本锁定

在父工程的pom.xml中定义,子工程就不需要再定义了。

<dependencyManagement>
	<dependencys>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.9</version>
		</dependency>
	</dependencys>
</dependencyManagement>
6.定义版本常量

在使用坐标时,对于同一个框架,引入多次时,它的版本信息就会多次出现,所以可以借用常量的思想,将这些版本号提取出来,在需要用到的时候,直接写版本的常量名称就可以了。

<!--定义版本常量 -->
<properties>
	<spring.version>4.2.8.RELEASE</spring.version>
	<struts.version>2.3.24</struts.version>
	<hibernate.version>5.0.9.Final</hibernate.version>
</properties>
<dependency>
	<groupId>org.apache.struts</groupId>
	<artifactId>struts2-spring-plugin</artifactId>
	<version>${struts.version}</version>
</dependency>
7.版本锁定
  • 依赖的继承:
    在Maven中,子项目是可以继承父项目中的依赖的,比如说我们有一个父项目maven-parent,该父项目拥有一个子项目A,如果在父项目中依赖了junit,那么在子项目A中即便是没有引入junit,在子项目中仍然能够使用junit,因为子项目天然继承了父项目中的junit依赖。
  • 首先在父工程的pom.xml中
 <!-- 版本锁定:要写在dependencies之后 -->
 <dependencyManagement>
  <dependencies>
  	<dependency>
  		<groupId>junit</groupId>
  		<artifactId>junit</artifactId>
  		<version>4.9</version>
  	</dependency>
  </dependencies>
 </dependencyManagement>
  • 版本不代表已经添加了依赖,此时需要继续添加依赖
 <dependencies>
 	<dependency>
 		<groupId>junit</groupId>
 		<artifactId>junit</artifactId>
 	</dependency>
 </dependencies>
  • 子工程如果想要继承junit,也必须添加依赖,不需要版本信息。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值