maven基础了解

软件工程:maven自动化构建工具

为了能够实现软件的流水线式生产,在设计和构建软件时能够有一种规范和工程化的方法,人们便提出了软件工程概念。

Maven 是目前最流行的自动化构建工具,对于生产环境下多框架、多模块整合开发有重要作用, Maven 是一款在大型项目开发过程中不可或缺的重要工具。

类似自动化构建工具还有: Ant, Maven, Gradle

Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理。 Maven 这个单词的本意是:专家,内行。

软件开发流程:编译——测试——打包 ——部署项目到测试服务器 —>测试人员测试功能—>测试测试出 bug —>返给开发人员修改bug —>开发员自己测试代码 -——>把代码打包 —>部署项目到测试服务器 —>测试人员测试功能 —>直到符合功能要求

上述过程需要重复多次,大型项目中构建项目比较复杂,有很多的配置文件, jar 文件,多个子项目等等。使用人力完成费时费力,且效率比较低。 Maven 可以让我们从上面的工作中解脱出来。

Maven 是自动化构建工具。

Maven的作用:

  • Maven 可以整合多个项目之间的引用关系, 我们可以根据业务和分层需要任意拆分一个项目
  • Maven 提供规范的管理各个常用 jar 包及其各个版本, 并且可以自动下载和引入项目中
  • Maven 可以根据指定版本自动解决 jar 包版本兼容问题
  • Maven 可以把 jar 包所依赖的其它 jar 包自动下载并引入项目
  • Maven 可以帮助编译程序,把 Java 编译为 class
  • Maven 可以测试代码是否正确
  • Maven 可以打包文件,形成jar文件,或者war文件,并部署项目

maven核心概念

1,POM :名称是pom.xml,pom翻译为:项目对象模型;maven把一个项目当作一个模型使用,控制maven构建项目的过程,管理jar依赖

2,约定的目录结构:maven项目的目录和文件的位置都是规定的

3,坐标:是一个唯一的字符串,用来表示资源的

4,依赖管理:管理你的项目可以使用jar文件

5,仓库管理:你的资源存放的位置

6,生命周期:maven工具构建过程,就是生命周期(就是上面的项目构建过程)

7,插件和目标

8,继承
9,聚合

maven的灵魂:POM.xml

pom.xml中的标签:

modelVersion:Maven 模型的版本

packaging:项目打包的类型,默认是 jar,WEB应用是war

dependencies和dependency:导入依赖;项目中要使用的各种资源说明,比如项目重要使用MySQL驱动:

<!--比如项目重要使用MySQL驱动:-->
<
dependencies> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.9</version> </dependencies>

properties:配置属性,properties 是用来定义一些配置属性的

build:build 表示与构建相关的配置, 例如设置编译插件的 jdk 版本

gav坐标:由 groupId 、 artifactId 、 version 三个元素,生成了一个 Maven 项目的基本坐标,

在众多的 Maven 项目中可以唯一定位到某一个项目,坐标也决定着将来项目在仓库中的路径及名称。

groupId:组织 id,一般是公司域名的倒写。 格式可以为:

            域名倒写。 例如 com.baidu

            域名倒写+项目名。例如 com.baidu.applycation

artifactId:项目名称,也是模块名称,对应 groupId 中 项目中的 子项目

version:项目的版本号。如果项目还在开发中,是不稳定版本, 通常在版本后带-SNAPSHOT version 使用三位数字标识,例如 1.1.0

       表示在互联网中唯一一个项目的标识;

        <groupId>公司域名倒写</groupId>

        <artifactId>自定义项目名称</artifactId>

        <version>自定义版本号</version>

maven 约定的目录结构:

这是大家都遵循的一个规则,每一个maven项目在磁盘中都是一个文件夹(项目-Hello)

Hello/

|---/src
  |------/main           放主程序Java代码和配置文件
        |---------/java         程序包和包中的Java文件
        |---------/resources    Java程序中要使用的配置文件

  |------/test            放测试程序代码和文件的

        |---------/java          测试程序包和包中的Java文件
        |---------/resources     测试Java程序中要使用的配置文件

|---/pom.xml     maven核心的文件(maven项目必须有)

项目的构建(maven生命周期)

构建(build),是面向过程的(从开始到结尾的多个步骤),涉及到多个环节的协同工作,构建过程的几个主要环节:

    1. 清理:删除以前的编译结果,为重新编译做好准备
    2. 编译:批量编译Java源代码为字节码文件,javac一次只能编译一个文件
    3. 测试:maven可以执行测试程序代码,验证你的功能是否正确,同时批量执行测试代码,测试很多功能
    4. 报告:测试后生成测试文件,测试通过与否
    5. 打包:把项目中所有的class文件,配置文件等所有的资源放到一个压缩文件中,Java 工程对应 jar 包
    6. 安装:在Maven环境生成的jar包或war包安装到本地仓库中
    7. 部署:将打包的结果部署到远程仓库或将war包部署到服务器上运行(一般是手动部署)

maven生命周期:就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署

仓库概念:

仓库是存放maven使用的jar和我们的项目使用的jar

>maven使用的插件jar包

>我们项目使用的jar第三方工具

仓库分类:

1>本地仓库,就是你的个人计算机上的文件夹,存放各种jar

2>远程仓库,在互联网上的,使用网络才能使用的仓库

         中央仓库,最权威的,所有的开发人员都共享的一个集中的仓库, https://maven.apache.org:中央仓库地址

         中央仓库的镜像:就是中央仓库的备份呢,在各大洲,重要的城市就是镜像

          私服,在公司内部,在局域网使用,不对外使用

3>仓库的使用:maven仓库的使用不需要人为参与

例如:开发人员需要使用mysql驱动----->maven首先检查本地仓库---->私服---->镜像--->中央仓库

 

posted @ 2022-10-14 22:53  280887072  阅读(19)  评论(0编辑  收藏  举报