通过Maven管理Java第三方依赖库...

Maven项目架构管理

视频资源: 狂神说Javaweb

本章节是将其中的maven项目管理内容提取的摘要

为什么要学习Maven

  1. 在JavaWeb开发中,需要使用大量的jar包,我们需要手动去导入;
  2. 如何能够让一个东西自动帮我们导入和配置这个jar包?
  3. 由此,Maven诞生了。

Maven项目架构管理工具

目前用来就是方便导入jar包的!

Maven的核心思想:约定大于配置

  • 有约束不要去违反

Maven会规定好你,该如何去编写Java代码,必须按照这个规范来

Maven下载安装

官网下载:http://maven.apache.org/

下载完成后,解压即可。

配置环境变量

在我们的系统环境变量中,配置如下:

  • M2_HOME maven目录下的bin目录
  • MAVEN_HOME maven的目录
  • 在系统的path中配置设置 %MAVEN_HOME%\bin

image-20210407191329783

image-20210407191344271

测试是否配置成功,在cmd内输入mvn -version,显示版本信息则说明成功!

image-20210407191411206

阿里云镜像

  • 镜像:mirrors
  • 在setting.xml中配置阿里云镜像
<mirror>
  	<id>aliyunmaven</id>
  	<mirrorOf>*</mirrorOf>
  	<name>aliyunmaven</name>
  	<url>https://maven.aliyun.com/repository/public</url>
</mirror>

image-20210407192904094

本地仓库

在本地的仓库,与之对应的是远程仓库

建立一个本地仓库localRepository

在setting.xml中配置本地仓库路径

<localRepository>D:\Environment\apache-maven-3.6.2\maven-repo</localRepository

image-20210407193257610

在IDEA中使用Maven

  1. 打开IDEA
  2. 创建新的maven项目

image-20210407195638813

  1. 选择自己的maven

image-20210407200156054

  1. 仓库和设置路径

image-20210407200459523

  1. 等待项目下载镜像
  2. 观察本地仓库的变化

image-20210407200807923

  1. IDEA中的maven设置

image-20210407201126425

到这里,maven在IDEA中的配置和使用就完成了

创建一个普通的maven项目

image-20210407202049556

一个干净的maven项目如下图

image-20210407202208693

用了原型创建的webapp只能用于web应用开发

image-20210407202304814

标记文件夹功能

image-20210407202708118

image-20210407202816600

在IDEA中配置Tomcat

  1. 点击左上角“添加配置”

image-20210407203123265

  1. 点击加号,找到本地Tomcat配置

image-20210407203222824

image-20210407203322927

  1. 配置tomcat(会出现部署报错)

image-20210407204205242

  1. 解决部署报错问题

为什么会有这个问题:我们访问一个网站,需要指定一个文件夹名字

image-20210407204354887

image-20210407204417759

image-20210407210646112

  1. 启动tomcat

image-20210407210828608

启动成功!

image-20210407210913406

pom文件

pom.xml是maven的核心文件

image-20210408142753270

我们在空白的maven项目中,导入dependencies,IDEA会帮我们自动下载,并且把这个依赖所需要的全部依赖也一并下载

image-20210408142442099

maven由于它的约定大于配置,我们之后可能遇到我们写的配置文件,无法被导出或生效的问题,解决方案如下:

<build>
      <resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>**/*.properties</exclude>
                <exclude>**/*.xml</exclude>
             </excludes>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>