Maven初学二

一、回顾

编写实体类的映射文件时的主键生成策略:
1.identity
2.native
3.sequence
4.uuid
5.increment
6. assigned 由程序员自定义

1.maven概念
它是一个软件开发的管理工具,主要管理的工作是:依赖管理,项目构建

2.使用maven的好处
能够集中管理jar包,提供一键构建

3.maven的安装及配置
配置:MAVEN_HOME,PATH路径配置
本地仓库:
运行:mvn -v后会出现相关信息,表示已经安装配置好maven

4.常用的maven命令
Compile,test,package,install,deploy(部署)

5.maven工程是具有一定的目录结构
在这里插入图片描述

src
	main
		java(程序主要代码)
		resources(配置文件)
		webapps(是web项目时添加该目录)
	test
		java(测试代码)
		resources(测试的配置文件)
pom.xml

6.eclipse工具下的maven工程开发
7.在pom.xml文件中如何引入坐标
8.总结
在这里插入图片描述

central:中央仓库,哪家公司都可以访问

二、Maven工程的拆分与聚合(重点)

1.过程

一个完整的早期开发好的crm项目,现在要使用maven工程对它进行拆分
这时候就可以将dao拆解出来形成表现独立的工程,同样service,action也都这样拆分
工程拆分之后,将来还要聚合(聚合就是将拆分的工程进一步组合在一起,又形成一个完整的项目)
为了达到聚合的目标,所以今天会引入
父工程(maven project)
子模块(maven module)  dao  ,service, web

在这里插入图片描述

1.开发步骤

1. 创建一个maven父工程
在这里插入图片描述

创建父工程,选择打包成pom

在这里插入图片描述
在这里插入图片描述

从它的目录结构可以看出,父工程本身不写代码,它里面有一个pom.xml文件,
这个文件可以将多个子模块中通用的jar所对应的坐标集中在父工程中配置,
将来的子模块就可以不需要在pom.xml中配置通用jar的坐标了

2.创建父工程的子模块
如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

dao打包成jar

3. 再次查看父工程的pom.xml文件
在这里插入图片描述
4. 查看子模块的pom.xml,多了一个 parent结点
在这里插入图片描述

并且内部所包含的结点,其实就是父工程的坐标
坐标=groupId+artifactId+version
        组织名   项目名       版本

2.解决冲突问题

通过添加<exclusion>标签来解决冲突
在父工程中引入了struts-core,hibernate-core,就发现jar包是有冲突的
Javassist存在版本上冲突问题
在这里插入图片描述
在这里插入图片描述
背后的父工程的pom.xml文件中,添加的内容
在这里插入图片描述
1.依赖调解原则:

maven自动按照下边的原则调解:
1、第一声明者优先原则
	在pom文件定义依赖,先声明的依赖为准。

测试:
如果将上边struts-spring-plugins和spring-context顺序颠倒,系统将导入spring-beans-4.2.4。
分析:
由于spring-context在前边以spring-context依赖的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值