zoukankan      html  css  js  c++  java
  • 第一章 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安装配置结束!
    
  • 相关阅读:
    javascript 函数介绍
    javascript 日期对象(date)详解
    js 计算过去和未来的时间距离现在多少天?
    phpcms 模板常用标签指南
    checkbox radio 样式重写
    datatable-固定行固定列
    表格-固定列 固定行
    axios 请求数据 入门级介绍
    图片上传的问题-偶现base64图片 小黑块问题
    cropper.js图片裁剪——第二弹
  • 原文地址:https://www.cnblogs.com/jhno1/p/15134016.html
Copyright © 2011-2022 走看看