Maven basics, concepts, installation and configuration, use

Maven concepts

Maven是目前市场上最流行的包管理工具、项目构建工具。通过Maven可以管理整个项目从开发到编译、测试、打包、发布的整个流程,进行标准化开发。
特别是通过依赖机制可以优雅的解决项目中包的依赖问题,大大简化了项目开发、管理流程
Maven基于项目对象模型(POM)概念,利用“中央信息片段”管理一个项目的构建,生成,报告等步骤;是目前最主流的“项目构建工具”。
Maven并不是市场上唯一的项目构建工具,但是是目前最流行的项目构建工具
常见的项目管理工具
ANT One of the earliest project building tools, rarely used at present
Maven Currently the most mainstream project construction tool, widely used
Gradle The current relatively novel project construction tool has better performance when compared to Maven for large project management

Basic concepts of Maven

a. Repository

Maven使用库的概念来管理项目资源
Maven库又分为本地库和远程库,远程库可以细分为中央库、镜像库(代理库)和私服
a1、中央库
指的是maven官方管理维护的库,是世界上最大的maven仓库,管理着大量的资源。
a2、镜像库(代理库)
为了分摊中央库的访问压力,为了是全世界不同地区的用户都可有较好的下载体验,除了中央库,全世界范围内还有很多镜像库存在,镜像库可以认为是对中央库的全部或部分资源的拷贝,全世界开发者可以选择去链接速度最优的镜像库获取资源。
目前国内比较知名的maven镜像库有网易的镜像库和阿里的镜像库
a3、私服
公司或者个人也可以利用maven的机制搭建在一定范围内使用的类似中央库的库,在一定的范围内管理项目资源,这样的库只能在一定的范围内起作用,且不一定和中央库互通,这样的库称之为私服库
a4、本地库
在当前机器内部保存资源的库。

Maven在工作时优先从本地库寻找资源,如果找不到就去配置的镜像库或者私服中自动下载资源,下载的资源保存在本地库中,以便于重复使用。

Insert picture description here

Resource location in the library

在Maven库中管理着大量的资源,如何唯一的标识这些资源是一个基本的问题。maven是通过资源的坐标地址来解决这个问题的。
	<groupId>org.springframework</groupId>
	<artifactId>spring-beans</artifactId>
	<version>4.3.7.RELEASE</version>
其中
	<groupId>	指定项目名称
	<artifactId>	指项目下某一模块名称(jar包名称)
	<version>	指版本信息

Maven installation and configuration

a.下载
	http://maven.apache.org/download.cgi
b.安装
	i.安装好JDK
		maven3.6以上的版本至少需要JDK 1.8,配置好JAVA_HOME环境变量
		参考:https://blog.csdn.net/weixin_44796239/article/details/106937585
	ii.安装Maven
		解压Maven到任意目录下,注意目录路径中不要出现中文或者空格。
	iii.配置环境变量
		配置MAVEN_HOME 环境变量指向maven的安装目录
		配置PATH环境变量指向maven安装目录中的bin目录

Insert picture description here

vi.配置maven
maven的核心配置文件是 conf/settings.xml
在正式使用maven之前需要配置这个文件,主要是指定本地库和镜像库的地址
<!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
  	<!-- 配置本地库 -->
	<localRepository>d://ali_repo</localRepository>
	...
	...
	...
	<!-- 配置镜像库 -->
	<mirror>
		<id>nexus-aliyun</id>
		<mirrorOf>central</mirrorOf>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>
	</mirror>
  </mirrors>

Use of Maven

可以利用maven管理项目的整个生命周期,这是通过maven的不同命令来实现的。
a.创建项目 mvn archetype:generate
	i.进入要创建项目的目录,执行命令mvn archetype:generate
	ii.提示要求选择创建项目的程序骨架
		默认提供了10中,我们目前知道两种即可
		所谓的项目骨架指的是项目的不同的结构,不同项目往往是具有不同的结构的,例如基本的Java项目和Java Web项目的机结构就是不同的,在使用mvn创建这些项目时通过制定不同的骨架来创建出不同结构的项目
		1)提示选择创建项目要使用的骨架(默认是7)
		Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 7:
		2)普通的Java项目 :  7
		3)普通的web项目:10
	iii.要求输入groupId
		通常情况下,groupId 要以公司的域名反写来声明
	iv.要求输入artifactId: 项目名
	v.要求输入version : 版本号
	vii.检查信息并确认   Y::
	viii.创建出的项目结构   如下图:

Insert picture description here

Okay, let's get here first. The rest are the common commands of Maven. The coding is not easy, so take a while. . . . .
If someone gave it, ha ha ha ha ha ha ~ hungry goose goose goose goose -
micro letter
Insert picture description here
Alipay
Insert picture description here

Guess you like

Origin blog.csdn.net/weixin_44796239/article/details/106947267