千家信息网

Maven的原理和使用方法

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇内容主要讲解"Maven的原理和使用方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Maven的原理和使用方法"吧!Maven基础1. 坐标Mave
千家信息网最后更新 2026年11月04日Maven的原理和使用方法

本篇内容主要讲解"Maven的原理和使用方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Maven的原理和使用方法"吧!

Maven基础

1. 坐标

Maven坐标主要组成(GAV),确定一个jar包的位置
groupId:定义当前Maven组织名称
artifactId:定义实际项目名称
version:定义当前项目的当前版本

2. 坐标的查找

访问http://www.mvnrepository.com

3. 依赖管理

(1) scope 依赖范围,用来控制依赖和编译、测试、运行的classpath的关系

(2) compile: 默认编译依赖范围。对于编译、测试、运行、打包时都需要,例如:struts2-core

(3) test:测试依赖范围。测试时需要,编译、运行、打包时不需要,例如:junit

(4) provided:已提供依赖范围。编译、测试时需要,运行、打包时不需要。因为由容器已经提供,例如:jsp-api、servlet-api

(5) runtime:运行时提供。测试、运行、打包时需要,编译时不需要。例如:jdbc驱动

4. 添加jar包
在pom中添加如下代码:

                                                              junit                                           junit                                           4.9                                           test                                                                                 javax.servlet                                           servlet-api                                           2.5                                           provided                                                                                 javax.servlet                                           jsp-api                                           2.0                                           provided                   

会发现jar包已添加到项目中

5. 依赖传递

直接依赖和间接依赖,test2 依赖 test1,test3依赖test2,test2 直接依赖 test1,test3间接依赖test1
依赖范围是compile的时候,依赖可以传递
依赖范围是test的时候,依赖不会得以传递

6. 可选依赖

true/false 是否可选,也可以理解为是否向下传递。在依赖中添加optional选项决定此依赖是否向下传递,如果是true则不传递,如果是false就传递,默认为false

7. 依赖版本冲突的解决

(1) 第一声明优先原则

           org.springframework           spring-context           4.2.4.RELEASE           org.apache.struts           struts2-spring-plugin           2.3.24

(2) 路径近者优先原则,自己添加jar包

    org.springframework    spring-beans    4.2.4.RELEASE

(3) 排除原则

                org.apache.struts                struts2-spring-plugin                2.3.24                                                          org.springframework                        spring-beans                                  

(4) 版本锁定原则

                   4.2.4.RELEASE                                                                                                                                  org.springframework                                                                   spring-context                                                                   ${spring.version}                                                                   

8. 生命周期
compile test package install deploy(发布到私服)
三种生命周期:
Clean Lifecycle:
在进行真正的构建之前进行一些清理工作
Default Lifecycle:
compile test package install deploy构建的核心部分,编译,测试,打包,部署等等
Site Lifecycle:
生成项目报告,站点,发布站点

(1) Clean生命周期:清理项目
Clean生命周期一共包含了三个阶段:

pre-clean 执行一些需要在clean之前完成的工作 clean 移除所有上一次构建生成的文件 post-clean 执行一些需要在clean之后立刻完成的工作

也就是说,mvn clean 等同于 mvn pre-clean clean
如果我们运行 mvn post-clean ,那么 pre-clean,clean 都会被运行。
这是Maven很重要的一个规则,可以大大简化命令行的输入。

(2) Default生命周期:构造项目
Default生命周期是Maven生命周期中最重要的一个,绝大部分工作都发生在这个生命周期中。这里解释一些比较重要和常用的阶段

validate generate-sources process-sources generate-resources process-resources 复制并处理资源文件,至目标目录,准备打包。 compile 编译项目的源代码。 process-classes generate-test-sources process-test-sources generate-test-resources process-test-resources 复制并处理资源文件,至目标测试目录。 test-compile 编译测试源代码。 process-test-classes test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。 prepare-package package 接受编译好的代码,打包成可发布的格式,如 JAR 。 pre-integration-test integration-test post-integration-test verify install 将包安装至本地仓库,以让其它项目依赖。 deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享

运行任何一个阶段的时候,它前面的所有阶段都会被运行
这也就是为什么我们运行mvn install 的时候,代码会被编译,测试,打包,安装到本地仓库
此外,Maven的插件机制是完全依赖Maven的生命周期的,因此理解生命周期至关重要。

(3) Sit生命周期:生成项目站点
这里经常用到的是site阶段和site-deploy阶段,用以生成和发布Maven站点,这可是Maven相当强大的功能
Manager比较喜欢,文档及统计数据自动生成,很好看。我们就不用学,以后自己研究

pre-site 执行一些需要在生成站点文档之前完成的工作 site 生成项目的站点文档 post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备 site-deploy 将生成的站点文档部署到特定的服务器上

9. 模型图

到此,相信大家对"Maven的原理和使用方法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

测试 运行 周期 生命 编译 项目 生成 站点 范围 阶段 工作 文档 方法 重要 代码 原则 时候 使用方法 原理 仓库 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 喔噻互联网科技有限公司 互联网科技垄断 壹账通互联网科技 猫创互联网科技 互联网科技大会案例 济南和联互联网科技有限公司 互联网科技博主是什么意思 汽车互联网创新科技园 佳云科技和互联网广告 移动互联网年度科技创新 为客找房互联网科技公司怎么样 互联网风格科技公司名称 35岁以上互联网科技行业 萌小萌互联网科技河南有限公司 上海万顺科技互联网有限公司招聘 西安左小互联网科技有限公司 易租星互联网科技有限公司 承德科技产业互联网平台 高科技和互联网的现代国家 西安纸贵互联网科技有限公司 金融科技 互联网金融 互联网科技股有哪些 中国最先进互联网科技公司 长沙茂晟互联网科技有限公司 工业互联网山东科技大学 互联网科技股为什么大涨 广州燕处互联网科技有限公司 美国五大互联网科技公司市值多少 10位科技互联网大佬
0