Maven笔记(入门篇)

1.1 入门

该笔记是观看黑马Maven教程所记,视频链接如下:
https://www.bilibili.com/video/av52364221/

1.1.1 使用Maven开发的优势

传统的项目中,由于含有较多的jar包,因此项目的大小非常庞大,而Maven则是考虑建立一个jar包的仓库,项目需要用到jar包的时候通过Maven程序去仓库里根据jar包的坐标去寻找,而这个jar包的仓库,就被称为Maven仓库,这样就能大大的减少项目的大小。一个传统的四十多Mb的项目使用Maven之后可能仅需要一百多kb。

jar包坐标的构成:公司名称 + 项目名称 + 版本信息

1.1.2 Maven的两大核心

  1. 依赖管理:也就是对jar包的统一管理
  2. 项目构建:在项目编码完成后,原先通过IDE对项目进行编译、测试、打包、部署等一些列操作,都可以通过Maven的命令去完成

1.1.3 Maven安装和相关运行配置

  1. 首先去Apache官网http://maven.apache.org/download.cgi下载压缩包,并解压到无中文路径的磁盘位置

  2. Maven目录结构了解
    Maven笔记(入门篇)_第1张图片

  3. Maven采用纯Java开发,因此需要配置环境变量

    名称:MAVEN_HOME 变量值:D:\Maven\apache-maven-3.5.2(配置到bin目录的上一级)

    将配置好的MAVEN_HOME配置到Path变量中去,在尾部添加 %MAVEN_HOME%\bin; 即可

  4. 去cmd下像查看java一样查看Maven是否配置完成,命令:mvn -v

Maven笔记(入门篇)_第2张图片

  1. 出现上述信息,则Maven安装完成

1.1.4 Maven的各种仓库了解

当Maven项目需要jar包,会按照以下优先级去寻找

  1. 本地Maven仓库:安装在程序员自己电脑上的jar包仓库
  2. 私服:也就是安装在局域网中的私有服务器,用于存放jar包,前提是需要安装服务器
  3. 中央仓库:位于互联网上,由Apache团队维护的大型jar包仓库,包括了基本所有的开源jar包,但是服务器在美国,访问缓慢,通常通过私服去下载,但也可以由电脑直接连接下载,只是速度感人!

其实阿里等一些企业也提供了他们自己的互联网Maven仓库,如:https://maven.aliyun.com/mvn/view,可以通过镜像去配置

1.1.5 Maven本地仓库的配置

  1. 找到其他人为我们总结好的本地jar包的压缩包,并解压到一个无中文的路径下

  2. 配置本地jar仓库的路径,为了让Maven程序找到该仓库。需要去Maven的安装路径下找到conf/settings.xml

  3. 在settings.xml文件中找到LocalRepository标签,标签体内配置你刚刚解压的路径即可(注意如果该语句在注释中记得拿出来)
    在这里插入图片描述

1.1.6 Maven项目的标准目录结构

  • src:用于存放项目源码
    • main:用于存放运行主要代码
      • java:用于存放主体程序源码
      • resources:用于存放xml等配置文件的
      • webapps:相当于webContent,用于存放WEB-INF、网页页面的素材(html、css、js等)
    • test:用于存放单元测试代码
      • java:用于存放测试代码,单元测试类
      • resources:用于存放测试用的配置文件(一般少用)
  • target:用于存放编译好的字节码文件
  • pom.xml:Project Object Module,Maven核心配置文件

从结构可以发现Maven对项目的代码进行了细分

但是 不管目录结构怎么改变,其输出的class文件的位置都是一样的,也就是对访问没有影响

1.1.7 Maven的常用命令

以下所有命令都是在cmd窗口下将路径切到项目根目录执行,下方的命令会将上方命令除了clean全都执行一遍,这就涉及到了声明周期

  1. mvn clean:清理命令,将项目根目录下的target文件夹整个清理掉
  2. mvn compile:编译命令,在项目根目录下生成target文件夹,将项目中的.java文件编译成.class文件
  3. mvn test:单元测试命令,将项目根目录下的 src/test/java 下所有命名为XxxxTest.java的单元测试类都会被执行
  4. mvn package:打包命令,将项目打包到target文件夹中,如果是javaweb project就生成war包,如果是java project就生成jar包
  5. mvn install:安装命令,将写好的某个工具类打成包发布到Maven本地仓库中,解决jar包复用。一般打jar包,打war包价值不大

1.1.8 Maven项目的生命周期

Maven存在三套声明周期,每一套生命周期相互独立,互不影响。在一套生命周期中,执行后边的命令,前边的命令会自动被执行

  1. CleanLifeCycle:清理生命周期,涉及指令:clean
  2. DefaultLifeCycle:默认生命周期,涉及指令:compile、test、package、install
  3. SiteLifeCycle:站点生命周期,涉及指令:site(了解即可)

1.1.9 Maven的概念模型

  • 依赖管理:通过给pom.xml中添加GroupId、ArtifactedId和Version的依赖模型,去给Maven坐标去本地仓库Local、私服b2b以及中央仓库central去寻找依赖jar包

    <dependencies>
      <dependency>
        <groupId>javax.servletgroupId>
        <artifactId>servlet-apiartifactId>
        <version>2.5version>
        <scope>providedscope>
      dependency>
    dependencies>
    
  • 项目构建:通过简单的生命周期命令去调用底层的一些maven插件plug-in,从而完成构建的过程

Maven笔记(入门篇)_第3张图片

该图片转载自视频本身

1.1.10 IDE配置Maven

  • Eclipse配置Maven
    1. Perference - Maven - Installation,Add你刚刚添加的MAVEN_HOME路径去找到Maven,并且添加之后记得检查是否勾选
      Maven笔记(入门篇)_第4张图片

    2. Perference - Maven - UserSettings,在User Settings里让其能够找到 apache-maven-3.5.2\conf\settings.xml的这个配置有本地仓库地址的xml文件,确定

    3. 构建索引:帮助其快速在仓库中找到某个jar包。

      Windows - show view - others - maven - Maven Repositories

      Local Repositories - Local Repository,右击 Rebuild Index

    4. 至此,配置完毕

  • IDEA配置Maven
    1. File - Settings - Build - Build Tools - Maven,修改其中的Maven home directory为你MAVEN_HOME的地址
    2. 继续修改该面板下的 User settings file为Maven安装路径下conf/settings.xml配置文件,道理同上
    3. 构建索引:Repositories,选中刚刚从settings.xml中读取到的本地仓库,点击update去更新索引

1.1.11 IDEA创建Maven项目

​ 选择要创建的是什么项目 ——> 填写项目信息 ——> 选择Maven的版本
Maven笔记(入门篇)_第5张图片
Maven笔记(入门篇)_第6张图片

​ IDEA创建的目录会只有webapps这一个文件夹,其他需要自己创建,在Project Structures中,并且创建完之后要点击对应的类型
Maven笔记(入门篇)_第7张图片
​ 整个项目的创建过程参考:https://blog.csdn.net/lxw983520/article/details/85686285

​ 创建servlet文件创建被隐藏,参考此处:https://www.wandouip.com/t5i230772/

​ 这个时候会发现servlet中很多导包的地方都报错了,这是缺少依赖导致的,参考:https://www.cnblogs.com/dekevin/p/12305094.html

1.1.12 依赖范围

Maven笔记(入门篇)_第8张图片

该图片转载自视频本身

如果使用到tomcat自带jar包如servlet-api.jar或jsp-api.jar,需要将项目中依赖的作用范围设置为:provided

你可能感兴趣的:(Java学习,Maven学习,maven,java)