MAVEN【我的第一张博客,炮打四灵部】

阅读: 评论:0

MAVEN【我的第一张博客,炮打四灵部】

MAVEN【我的第一张博客,炮打四灵部】

MAVEN-项目管理专家

Maven是什么?
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven最突出的作用就是 管理项目生命构建周期,管理项目中的jar包,管理项目的起初信息(文档管理,测试报告…)
Maven打包项目的目录结构的约定

└─src                      源码├─main                 主要的代码目录│  ├─java              存放java源码│  │                              │  └─resources         资源: 配置文件└─test                 测试相关
l					  项目的基本信息和相关配置

Maven的生命周期
Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。

POM
Pom是指 Project Object Model。POM是一个xml,在Maven里为;。是Maven工作的基础,在执行task或者goal时,Maven会去项目的根目录下读取l获的需要的配置信息。
POM文件中包含了项目的信息和maven build项目所需的配置信息,通常由项目信息(如版本,成员),项目的依赖,插件和goal,build选项等。
POM是可以继承的,通常对于一个大型的项目或是多个module的情况,子模块的POM需要指定父模块的POM。

坐标
在Maven世界中,每个工程都有它唯一的 组织名、模块名、版本 ,这三个就是maven项目的坐标,一个maven工程可以打包成jar、war、pom等形式,但是它们都是拥有上述三个坐标的。我们在项目过程中导入的jar包就是通过上述坐标值唯一确定的。因此,我们在创建一个maven工程时会要求指定具体的 组织名、模块名、版本、打包方式。

<groupId>公司网址反写.项目名</groupId>
<artifactId>项目名-模块名</artifactId>
<version>大版本.分支版本.小版本号+版本类型</version>
<packaging>打包方式</packaging>

依赖传递
传递性依赖是Maven2.0的新特性。假设你的项目依赖于一个库,而这个库又依赖于其他库。你不必自己去找出所有这些依赖,你只需要加上你直接依赖的库,Maven会隐式的把这些库间接依赖的库也加入到你的项目中。这个特性是靠解析从远程仓库中获取的依赖库的项目文件实现的。一般的,这些项目的所有依赖都会加入到项目中,或者从父项目继承,或者通过传递性依赖。
Maven的依赖传递满足最短路径原则和优先声明原则。
例如: A->B->C(0.2) A->C(0.1) 因为A->C(0.1)路径较短,所以会选择0.1版的C作为依赖。
A->B->C(0.2) A->D->C(0.1) 因为A->B->C(0.2)先传递依赖,所以会选择0.2版的C作为依赖。
依赖类型与打包与范围

Repositorries-仓库
Maven仓库是基于简单文件系统存储的,集中化管理Java API资源(构件)的一个服务。仓库中的任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径。得益于 Maven 的坐标机制,任何 Maven项目使用任何一个构件的方式都是完全相同的,Maven 可以在某个位置统一存储所有的 Maven 项目共享的构件,这个统一的位置就是仓库,项目构建完毕后生成的构件也可以安装或者部署到仓库中,供其它项目使用。
仓库优先级:
本地仓库(local)->私服镜像(aliyun)->中央仓库central
Maven常用命令
mvn compile 编译源代码
mvn test 运行源代码
mvn clean 清除目标目录中的生成结果
mvn package 将项目打包称jar/war文件
mvn install 在本地Repository中安装jar
mvn clean install 删除已有在编译
mvn archetype:genate 生成maven项目结构

本文发布于:2024-02-05 00:35:39,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170720014361301.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:第一张   炮打   博客   MAVEN   四灵部
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23