• maven学习笔记


      我学习maven的地址在   https://www.bilibili.com/video/BV1TW411g7hP?p=1      相信我,学习的过程中你一定会直呼:妙啊!!!老师是真的细啊~~~~


    一、为什么学习Maven(maven有哪些极其强悍的优势)?

      1、将一个庞大的项目拆分成多个互相联系的工程

        比如:每个菜单都对应一个工程,所有工程联系在一起成为一个项目。

        

         思考:maven如何将这些拆分的工程联系起来的?

        

      2、通过对maven仓库中jar的接口的引用,代替直接将jar复制到项目中的方式,大大地节约了空间(多个项目共享)

        

       3、maven能以规范的方式下载jar,因此下载的jar也是规范的(不用CSDN的积分啦,也不下载到木马程序啦~~~哈哈哈)

        

       4、jar往往需要依赖其他的jar,maven会自动将依赖的jar添加进来

        比如,我pom中加入Junit的依赖(Junit依赖于hamcrest-core-x.x.jar),所以maven会自动加入hamcrest-core-x.x.jar的依赖接口

        

    二、maven是什么?

      1、maven是一款服务于Java平台的自动化构建工具
        Make--->Ant--->Maven--->Gradle

      2、构建:(我们开发工具看到的项目结构,一般和工作空间目录结构相同,但是我们运行实际结构是需要构建的,一般是将:webapp下内容放到项目名称下,src下编译放到classes,并放于WEB-INF下)

        构建就是将我们编写的Java代码、框架配置文件、国际化等其他资源文件、JSP页面图片等静态资源文件作为“原材料”,生产出一个可以运行的项目的过程。

        

        Tips:运行时环境

        

       3、构建的环节

      •   清除:将以前编译得到的class字节码文件删除,为下一次编译做准备
      •   编译:将Java源文件编译成字节码文件
      •   测试:自动测试,自动调用Junit程序
      •   报告:测试程序执行的结果
      •   打包:动态web工程打包成war,Java工程打包成jar
      •   安装:Maven特定的概念---将打包的文件复制到“仓库”指定的位置
      •   部署:将动态web工程的war复制到servlet容器指定目录下(Tomcat是webapp目录),使其可以运行

     

    三、maven的核心概念

      1、约定的目录结构

      2、POM

      3、坐标

      4、依赖

      5、仓库

      6、生命周期、插件、目标

      7、继承

      8、聚合

    四、约定的目录结构

       约定>配置>编码

      

     五、常用Maven命令

      1、注意:执行与构建过程相关的Maven命令,必须进入pom.xml所在目录(eclipse中右键点击pom.xml)

      2、常用命令:

        mvn clean:清理

        mvn compile:编译主程序

        mvn test-compile:编译测试程序

        mvn test:执行测试

        mvn package:打包

        mvn install:安装

        mvn site :生成站点

    六、POM

      1、project object model 项目对象模型    DOM  document object model 文档对象模型

      2、pom.xml是Maven工程的核心配置文件,与构建过程相关的一切设置都在这个文件中配置,重要程度相当于web.xml对于动态Web工程

    七、坐标(GAV)

      1、坐标含义

      groupid:公司或组织域名倒序+项目名

      artifactid:模块名

      version:版本

      2、Maven工程的坐标与仓库中路径的对应关系

      

    八、仓库

      1、仓库的分类

       本地仓库    远程仓库(私服:局域网;中央仓库镜像:各大洲分担中央仓库流量;中央仓库:Internet 最终boss)

        中央仓库地址:https://repo.maven.apache.org/maven2/

        下载流程

        

       2、仓库中保存的内容

        Maven自身所需要的插件

        第三方框架或工具的jar包

        我们自己开发的maven工程

    九、依赖   

      1、下载依赖(本地>私服>中央仓库镜像>中央仓库) 

        安装依赖:自己开发的maven工程,使用mvn install 安装进入仓库

      2、依赖的范围

        compile(默认) :对主程序和测试程序有效,参与打包和部署(全程有效):比如spring-core

        test:仅对测试程序有效,对主程序无效,不参与打包和部署(开发阶段测试有效):比如Junit

        provided:对主程序和测试程序有效,不参与打包和部署(开发阶段有效):比如servlet-api.jar

      3、依赖的传递性

        compile范围的依赖可以传递。引入依赖也会引入该依赖所需要的依赖

      4、依赖的排除

        

       5、依赖的原则

        就近原则    先声明者优先(路径长度相同时)

      6、统一管理依赖版本

        

         

    十、生命周期

      1、maven核心程序为了是实现自动化构建,不论现在要执行生命周期的哪一个阶段,都是从生命周期的初始位置开始执行

    十一、继承

      1、创建一个Maven工程作为父工程。注意:打包方式pom

      2、子工程中声明对父工程的引用

        

       3、将子工程的坐标中与父工程坐标中重复的内容删除(建议)

        

       4、再父工程中统一管理依赖

        

       5、子工程中删除依赖的版本号部分

        

       注意:配置继承后,执行安装命令后要先安装父工程

    十二、聚合

      1、作用:一键安装各个模块工程

      2、配置方式:

        

  • 相关阅读:
    使用RazorGenerator对视图View进行单元测试
    C#常用获取本周、本月、本季度、本年的时间起止段代码
    Redis使用记录
    Git和ConEmu
    mongodb单索引的升序和降序
    AES 加密解密 php c#
    redis 外网连接错误
    .net mvc 分页
    检查Windows上安装的.net版本
    sqlserver跨服务器查询
  • 原文地址:https://www.cnblogs.com/LiuChengGang/p/14253541.html
Copyright © 2020-2023  润新知