【云计算】maven学习心得总结
小标 2019-01-14 来源 : 阅读 714 评论 0

摘要:本文主要向大家介绍了【云计算】maven学习心得总结,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】maven学习心得总结,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

一:Maven - 概述


Maven 是什么?


Apache Maven,简称Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 使用了一个标准的目录结构和一个默认的构建生命周期。总的来说,Maven 简化了工程的构建过程,并对其标准化。它无缝衔接了编译、发布、文档生成、团队合作和其他任务。Maven 提高了重用性,负责了大部分构建相关的任务。


Maven 的目标


Maven 的主要目的是为开发者提供

- 一个可复用、可维护、更易理解的工程综合模型

- 与这个模型交互的插件或者工具

Maven 工程结构和内容被定义在一个 xml 文件中 - pom.xml,是 **项目对象模型**Project Object Model (POM) 的简称,此文件是整个 Maven 系统的基础组件。


约定优于配置


开发者不需要再自己创建构建过程,不需要再关心每一个配置细节。Maven 为工程提供了合理的默认行为。

举例说明,下面的表格展示了工程源码文件、资源文件的默认配置,和其他一些配置。假定 ${basedir} 表示工程目录:


  配置项

  默认值
source code${basedir}/src/main/java
resources${basedir}/src/main/resources
Tests${basedir}/src/test
Complied byte code${basedir}/target
distributable JAR${basedir}/target/classes


二:Maven - POM


首先确定工程组(groupId),及其名称(artifactId)和版本(version),在仓库中这些属性是工程的唯一标识。

pom文件配置结点含义:https://blog.csdn.net/ithomer/article/details/9332071 https://blog.csdn.net/u012461550/article/details/42608869

所有的 POM 都继承自一个父 POM(无论是否显式定义了这个父 POM)。父 POM 也被称作 Super POM,它包含了一些可以被继承的默认设置。


三:Maven - 生命周期


Maven 构建生命周期就是 Maven 将一个整体任务划分为一个个的阶段,类似于流程图,按顺序依次执行。也可以指定该任务执行到中间的某个阶段结束。

Maven 的内部有三个构建生命周期,分别是 clean, default, site。

参考:https://www.jianshu.com/p/fd43b3d0fdb0


四:配置文件与Maven仓库


什么是构建配置文件?

构建配置文件是一组配置的集合,用来设置或者覆盖 Maven 构建的默认配置。使用构建配置文件,可以为不同的环境定制构建过程,例如 Producation 和 Development 环境。


Profile 在 pom.xml 中使用 activeProfiles / profiles 元素指定,并且可以用很多方式触发。Profile 在构建时修改 POM,并且为变量设置不同的目标环境(例如,在开发、测试和产品环境中的数据库服务器路径)。


Profile 类型:

Profile 主要有三种类型。



  类型

  在哪里定义
Per Project定义在工程 POM 文件 pom.xml 中
Per User定义在 Maven 设置 xml 文件中 (%USER_HOME%/.m2/settings.xml)
Global定义在 Maven 全局配置 xml 文件中 (%M2_HOME%/conf/settings.xml)


什么是 Maven 仓库?

在 Maven 的术语中,仓库是一个位置(place),例如目录,可以存储所有的工程 jar 文件、library jar 文件、插件或任何其他的工程指定的文件。


Maven 仓库有三种类型:


-本地(local)

-中央(central)

-远程(remote)

1.本地仓库:

Maven 本地仓库是机器上的一个文件夹。它在你第一次运行任何 maven 命令的时候创建。


Maven 本地仓库保存你的工程的所有依赖(library jar、plugin jar 等)。当你运行一次 Maven 构建,Maven 会自动下载所有依赖的 jar 文件到本地仓库中。它避免了每次构建时都引用存放在远程机器上的依赖文件。


Maven 本地仓库默认被创建在 %USER_HOME% 目录下。要修改默认位置,在 %M2_HOME%\conf 目录中的 Maven 的 settings.xml 文件中定义另一个路径。

2.中央仓库

Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。


中央仓库的关键概念:


这个仓库由 Maven 社区管理。

不需要配置。

需要通过网络才能访问。

要浏览中央仓库的内容,maven 社区提供了一个 URL://search.maven.org/#browse。使用这个仓库,开发人员可以搜索所有可以获取的代码库。


3.远程仓库

如果 Maven 在中央仓库中也找不到依赖的库文件,它会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven 提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。


举例说明,使用下面的 POM.xml,Maven 将从远程仓库中下载该 pom.xml 中声明的所依赖的(在中央仓库中获取不到的)文件。

Maven 依赖搜索顺序

当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:


步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。

步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中已被将来引用。

步骤 3 - 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。

步骤 4 - 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库已被将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程