Maven学习

Maven是一款为java项目构建管理,依赖管理的工具,使用Maven可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量

Maven构建触发方便,并且构建要求项目结构

Maven在idea中是项目独立的,每个项目需要file-settings-build-build tool-maven配置本地路径

部署过程

清理,编译,测试,打包,报告,部署

GAVP属性

GroupID:com.公司/BU.业务线.子业务线,最多四级

ArtifactID:产品线名-模块名

Version版本号:主版本号(不兼容的API修改或增加了改变产品方向的新功能).次版本号(向下兼容的功能新增,新增类或接口等).修订号(修复bug或没有修改方法签名的功能增强)

Packaging属性:默认jar(普通java工程),war(java web工程),pom用来继承的父功能

web项目创建

手动创建:

1.创建javase项目工程

2.补全文件结构main-webapp-WEB-INF-web.xml

3.修改pom.xml打包方式packaging为war形式

4.刷新,webapp会多一个蓝点为创建成功

自动创建:右键工程选择JBLjavaweb即可

Maven项目结构

依赖管理

依赖信息集合dependencies,每个依赖项dependence,内部包含依赖信息GroupID和ArtifactID,Version

还有可选属性scope,控制引入依赖的作用域,默认compile,可以在main,test和打包运行中使用。test为只在test中使用。runtime为打包和运行中使用(mysql中运行时反射注册)。provided仅在main和test中使用(Servlet在tomcat中会提供)。

获取依赖信息方法:1.通过Maven官网https://mvnrepository

2.使用Maven插件maven-search,在tools中有maven-search

可以提取版本号统一管理,在properties中声明标签变量,命名建议两层以上命名,防止与默认标签重复,引用时使用$(标签名)引用

依赖传递

为了减少重复依赖、自动管理依赖、确保依赖版本正确性

传递依赖:会自动导入依赖的依赖

依赖冲突:当发生重复依赖导入时会终止依赖传递,避免循环依赖

发生依赖冲突说明产生了重复依赖

依赖冲突解决原则:1.引用路径短的优先。2.按照依赖代码先后顺序

发生依赖冲突,不依赖的版本所依赖的后续资源都不会被引入

依赖导入失败

错误原因:1.下载依赖时出现网络故障或仓库服务器宕机(检查网络或服务器状态)

2.依赖项的版本号或配置文件中的版本号错误,或依赖项没有正确定义(写错了)

3.本地maven仓库或缓存被污染或损坏(清除本地保存的lastUpdated文件,刷新重新下载)

扩展构建管理

项目构建指将代码,依赖库和资源文件等转换成可执行或可部署的应用程序的过程,包括编译源代码,链接依赖库,打包和部署等步骤

主动触发场景:重新编译,打包,部署本地或私服仓库

可以通过命令方式构建:mvn 构建命令 构建命令...

或可视化方式构建:打开maven,通过项目下的lifestyle中的命令构建

构建命令周期

简化了触发构建命令过程

有序地构建命令容器,清理clean,构建compile,test,package,install/deploy,报告site

触发构建周期后的命令会自动触发同一周期前的命令

周期包含若干命令,命令包含若干插件。使用周期命令构建,最终进行构建的是插件

插件配置在pom.xml中<build><plugins><plugin>中配置</build></plugins></plugin>

Maven继承

一个项目从另一个项目中继承配置信息的机制,可以让多个项目中共享同一配置信息,简化项目管理和维护工作

在父工程中统一管理项目中的依赖信息,进行统一版本管理

父工程不打包也不写代码,通过xml指明依赖

子工程中通过xml中的parent标签指定继承父工程的gav属性,子工程中只需要写明ga属性即可,不需要写Version,子类Version会覆盖父工程版本

父工程中<dependencies>导入依赖,所有子工程都会有该依赖

父工程中<dependencyManagement>导入依赖,可以被子工程继承版本号,可以在里面套<dependencies>

Maven聚合

将多个项目组织到一个父级项目中,通过出发父工程的构建,统一按顺序出发子工程构建的过程

方便统一管理子项目构建,优化构建顺序

创建子工程后会自动在父工程中添加<moudles><moudle>子工程

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值