maven

Maven项目管理工具 A项目可以使用B项目中的类 为了使地更方便,不去每次更新之后打包才可以使用,就要来使用maven了
项目对象模型
Project object model
Pom.xml配置文件
Centrol 中心仓库 b2b maven 仓库
保证jar包的完整性,
Maven的安装与配置
1.jdk的支持
2.环境变量的配置
(1)先配置系统 MAVEN_HOME/文件的目录
(2)再配置path变量 %MAVEN_HOME%/bin
3.看是否配置成功 cmd输入 mvn -version查看maven版本
Maven目录分析
Bin mvn运行的脚本
Boot plexus-classworlds类加载器框架
Conf settings.xml配置文件
Lib maven运行所需要的java类库
Maven中的基本命令
mvn -version 查询maven版本,用来检查maven是否安装成功
mvn -compile:编译 将java源文件编译成class字节码文件
mvn-test:测试项目 执行test目录下的测试用例
mvn-package:打包,将项目打成jar包,自动存放在maven项目的target目录下
mvn-clean:删除target文件夹
mvn-install:安装,将当前的项目放到maven的本地仓库中。以便与其他项目的使用
Maven约定
Java项目目录和javaweb项目目录中src是项目源码目录
Maven项目的原码目录有四个,分别为
Src / main/java
存放的是项目的原码 .java文件
Src/main/resources
存放的是项目资源文件和项目配置资源文件,如spring、mybatis配置文件,db.properties数据库资源文件等
Src/test/java
存放测试代码,如junit测试类
Src/test/resources
存放测试中的配置文件

如果在idea中创建的项目没有resources目录则需要手动添加并且进行应用
右键点击目录,选择mark directory as 选择第三个 resources root

Src/main/webapp: maven web项目的目录
Target: 项目的输出位置
pom.xml 当前项目的配置管理,依赖管理,插件管理
Pom.xml详解
4.0.0模型版本号
com.maven组织编号
一般都为公司的名称或组织的名称或者大项目的名称,通常采用的是域名倒置的取名方式,影响安装到仓库的首层目录结构
hello
项目的编号:一般都为项目名称或子项目名称,影响安装到仓库的次层目录结构以及打包的名称
1.0版本号:影响安装到仓库的末层目录结构以及打包的名称

Maven仓库
用来存放maven管理的所有的jar包
1.本地仓库
Maven本地的jar包仓库
2.中央仓库
Maven官方提供的远程仓库
当项目编译时,maven首先从本地仓库中寻找项目锁需要的jar包若本地仓库中不存在,再到maven的中央仓库下载所需要的jar包,如果在setting配置文件中配置了阿里云镜像,则如果本地不存在会前往阿里云镜像中下载所需要的jar包
****坐标
在maven中,坐标是jar包的唯一标识,maven通过坐标在仓库中找到所需要的jar包
如下所示

cn.missbe.web.search
resource-search
jar
1.0-SNAPSHOT

GroupId:所需要jar包的项目名
ArtifactId :所需要jar包的模块名
Version:所需要的jar包的版本号

关于maven的依赖范围
依赖的概念:当A jar包需要用到 B jar包中的类时,我们就说A对B有依赖
直接依赖:a依赖b ,b依赖c 这时a,b和b,c之间都是直接依赖,而a,c之间是间接依赖

依赖范围是用来控制依赖在编译classpath,测试classpath,运行classpath这三种classpath的使用,当一个maven工程中添加了对某个jar包的依赖后,这个被依赖的jar包就存在了依赖的取值范围
依赖的范围写在坐标的下边
test
依赖范围的取值
Compile:编译的依赖范围
Test:测试的依赖范围
Provided 已经提供的依赖范围
Runtime 运行时依赖的范围
System 系统的依赖范围
Import 导入的依赖范围
未加范围就是compile范围
关于maven的依赖传递
当存在间接依赖的情况时,主工程对间接依赖的jar是否可以访问,这就需要根据间接依赖jar包引入时的依赖范围为compile时才可以访问

Maven的三大生命周期
Clean生命周期
清理阶段包含三个阶段
pre-clean 执行清理前需要完成的工作
Clean 清理上一次构建生成的target文件
Post-clean 执行清理后需要完成的工作
Default生命周期
构建项目,重要的阶段
Validate 验证工程是否正确,所有需要的资源是否是可用的
Compile 编译项目的源代码
Test 使用合适的单元测试框架来测试已编译的源代码,这些测试不需要已打包和部署
Package 把已编译的代码打包成可发布的格式 如 jar
Integration-test 如果需要,将包处理和打不到一个能够进行集成测试的环境
Verify 运行所有检查,验证包是否有效且达到质量标准
Install 把包安装到maven本地你仓库,可以被其他工程作为依赖来使用
Deploy 在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程就可以共享
site声明周期
建立和发布项目站点
pre-site 生成项目站点之前需要完成的工作
Site 生成项目站点文档
Post-site 生成项目站点之后需要完成的工作
site-deploy 将项目站点发布到服务器
注意:各个生命周期相互独立,一个生命周期的阶段前后相互依赖

maven项目拆分
将一个maven项目拆分为多个子项目,也叫模块,提高开发的效率
首先创建一个管理所有子项目的父项目,再创建父项目下的子项目,以web项目来讲
分为 表现层 controller层、 业务层 service层、持久层 dao 层、
工具类子项目 util 、实体类子项目entity
以上 的表现层 业务层 持久层都继承自父项目管理层
而表现层 web项目中的页面展示 ,也就是写servlet和jsp ,当然学框架之后会将servlet和jsp都干掉,而表现层依赖的是 业务逻辑层,根据业务逻辑获取到数据,业务逻辑层又依赖的是持久层,持久层和数据库进行连接,对数据库进行操作,持久层的实现依赖的是各种各样的工具类,和实体类,工具类目前所学的所用的最重要的也就是与数据库进行吧连接和操作的工具类,实体类,数据库表中对应的实例化对象
这样就将一个完整的项目划分成了五个子项目,通过之间的依赖关系,只需要将每个模块的坐标对应写到依赖的pom.xml配置中即可,开发是互不影响的

Maven项目聚合
项目拆分后每个项目都是独立的项目,必须自己独立控制或执行maven命令。Maven可以通过管理类项目对多个子项目进行管理
也就是父项目,在父项目的pom.xml文件中会存在,你所创建的所有的子项目idea工具都会给你自动在配置文件中写入模块

entity
dao
service
controller

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sclience_kang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值