第一章 Maven入门

一、构建工具概念

构建工具是软件构建过程自动化的一种工具。一个软件项目的构建通常包含以下几部分:

生成源代码(如果项目使用了自动生成部分源代码)
从源代码生成文档(如javadoc)
编译源代码
将编译好的代码打包到ZIP包或JAR包中
把打包好的文件部署到服务器或存储库
某些软件项目可能还包含其他特殊构建任务,这些任务都可以添加到maven的构建过程中自动化执行。

构建过程自动化的好处是,避免出错,效率更高,人工执行构建过程比较慢且容易出错。

二、Maven基本概念

# 1.Maven是一款跨平台的项目管理工具,是一个开源的项目。它是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中。

# 2.Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理,它可以管理项目的整个声明周期,包括清除、编译,测试,报告、打包、部署等等。

三、Maven基本原理

Maven以POM文件(项目对象模型)为中心,POM文件是xml格式,是自动构建的配置文件,位于项目的根目录下。

如果熟悉make 与 Makefile,可以看出,maven相当于make,pom.xml相当于makefile

下面是Maven读取POM文件执行构建过程的示意图:

# 1.POM文件
执行Maven命令时,Maven根据POM文件中的配置来执行命令。

# 2.依赖项和存储库
pom文件包含了依赖项的配置,依赖项是项目使用的外部JAR文件(Java库)。如果本地库中没有找到依赖项,Maven将从中央库下载依赖项,并存放在本地库中。本地存储库只是本机上的一个目录,这个目录位置可配置。另外除了中央库,还可以配置其他远程库,例如公司内部可以架设一个远程库供所有开发人员使用。

# 3.构建生命周期、阶段和目标
项目的构建通常包含数个相互独立的任务,可以独立执行,如生成文档,构建jar包等。单个任务的执行过程被称为一个构建生命周期,构建生命周期由一系列的构建阶段组成,每个阶段包含一系列的构建目标。

我们可以执行构建阶段或构建目标。阶段按顺序执行,执行一个阶段则会先执行该阶段之前的所有阶段。当执行构建阶段时,将会按顺序执行其中包含的所有构建目标。构建目标可以被分配到一个或多个构建阶段。我们还可以直接执行构建目标。

# 4.插件
插件是构建目标的集合,也称为MOJO (Maven Old Java Object)。可以把插件理解为一个类,而构建目标是类中的方法。构建阶段包含一系列的构建目标,可以理解为按顺序调用各个插件中的构建目标(方法),然后一系列的构建阶段组成一个构建生命周期。

Maven实际上是一个插件执行框架。如有必要,可以用java开发自定义插件。

# 5.构建profile
如果需要构建项目的不同版本,可以使用构建profile。例如,项目中需要构建开发版本、测试版本以及正式版本,这些版本可以通过在pom文件中添加不同构建profile构建。执行maven时指定不同的构建profile就可以。

四、Centos 7下Maven安装

1.安装JDK

JDK官网下载:https://www.oracle.com

# 1.创建软件存放目录
[root@nex-dev ~]$ mkdir /data/software/
[root@nex-dev ~]$ cd /data/software/

# 2.上传jdk安装包
[root@nex-dev /data/software]$ rz
[root@nex-dev /data/software]$ ll
total 206884
-rw-r--r--. 1 root root 185540433 2021-07-12 09:42 jdk-8u131-linux-x64.tar.gz

# 3.解压安装包
[root@nex-dev /data/software]$ tar xf jdk-8u131-linux-x64.tar.gz  -C /opt
[root@nex-dev /data/software]$ cd /opt/
[root@jindada ~]$ ll
total 0
drwxr-xr-x. 8   10  143 255 2017-03-15 16:35 jdk1.8.0_131

# 4.做软连接
[root@jindada ~]$ ln -s jdk1.8.0_131 jdk
[root@jindada ~]$ ll
total 0
lrwxrwxrwx. 1 root root  12 2021-07-12 09:43 jdk -> jdk1.8.0_131
drwxr-xr-x. 8   10  143 255 2017-03-15 16:35 jdk1.8.0_131

# 5.配置环境变量
[root@jindada ~]$ vim /etc/profile.d/java.sh 
export PATH=/opt/jdk/bin:$PATH

# 6.刷新环境变量
[root@jindada ~]$ source /etc/profile.d/java.sh 

# 7.验证jdk
[root@jindada ~]$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

2.安装Maven

Maven官网下载地址:http://maven.apache.org

# 1.创建软件存放目录
[root@jindada ~]$ cd /data/software/

# 2.下载Maven安装包
[root@jindada /data/software]$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz
[root@jindada /data/software]$ ll
总用量 22700
-rw-r--r--. 1 root root  9536838 3月  31 01:41 apache-maven-3.8.1-bin.tar.gz

# 3.解压安装包
[root@jindada /data/software]$ tar xf apache-maven-3.8.1-bin.tar.gz  -C /opt/
[root@jindada /data/software]$ cd /opt/
[root@jindada /opt]$ ll
总用量 32
drwxr-xr-x.  6 root root 4096 8月  11 14:38 apache-maven-3.8.1

# 4.做软连接
[root@jindada /opt]$ ln -s apache-maven-3.8.1/ maven
[root@jindada /opt]$ ll
总用量 32
drwxr-xr-x.  6 root root 4096 8月  11 14:38 apache-maven-3.8.1
lrwxrwxrwx.  1 root root   19 8月  11 14:39 maven -> apache-maven-3.8.1

# 5.配置环境变量
[root@jindada /opt]$ vim /etc/profile.d/maven.sh
export PATH=/opt/maven/bin:$PATH  

# 6.刷新环境变量
[root@jindada /opt]$ source  /etc/profile.d/maven.sh

# 7.验证Maven
[root@jindada /opt]$ mvn -version
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: /opt/maven
Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: /opt/jdk1.8.0_131
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.31.1.el7.x86_64", arch: "amd64", family: "unix"

3.配置Maven

# 1.进入Maven配置目录
[root@jindada /opt]$ cd /opt/maven/conf/
[root@jindada /opt/maven/conf]$ ll
总用量 20
drwxr-xr-x. 2 root root  4096 11月  7 2019 logging
-rw-r--r--. 1 root root 10741 11月  7 2019 settings.xml
-rw-r--r--. 1 root root  3747 11月  7 2019 toolchains.xml

# 2.备份配置文件
[root@jindada /opt/maven/conf]$ cp settings.xml settings.xml.bak

# 3.编辑配置文件
[root@jindada /opt/maven/conf]$ vi settings.xml
... ...
<!--本地仓库--> 
<localRepository>/data/maven/repository</localRepository>

 <mirrors>
    <!--阿里云镜像-->
    <mirror>
      <id>aliyun-maven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven mirror</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
  </mirrors>
... ...

# 4.创建本地仓库
[root@jindada /opt/maven/conf]$ mkdir /data/maven/repository -p

至此Maven安装配置结束!
posted @ 2021-08-12 17:57  年少纵马且长歌  阅读(90)  评论(0编辑  收藏  举报