JAVAWEB-NOTE05-Maven

概述

提供了一套标准的项目化结构

提供了一套标准化的构建流程

提供了一套依赖管理机制

简介

Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。
Maven模型:

Maven是如何管理依赖的?
首先要了解一下maven的仓库机制,maven的仓库一共分为
1.本地仓库:自己计算机上的一个目录
2.中央仓库:由Maven团队维护的全球唯一的仓库
3.远程仓库:一般由公司团队自己搭建的一些私有仓库(比如把中央仓库的依赖包同步过来,又或者说保存一些商用的包)

当我们的项目在配置文档中需要一个jar包时,项目会先去查询本地仓库,看有没有自己所需要的依赖,如果没有就会去找中央仓库去查询,如果中央仓库有的话,就会将这个依赖下发给本地仓库保存,这样下次还有项目需要相同的依赖的时候就可以直接从本地仓库获取。
当然也可以搭建远程仓库,这样的话jar包的查找顺序就会变为本地仓库---远程仓库---中央仓库

安装配置

安装

1.解压apache-maven-3.6.1.rar安装完成
2.配置环境变量MAVEN_HOME为安装路径的bin目录
3.配置本地仓库:修改conf/settings.xml中的为一个指定目录
4.配置阿里云私服:修改conf/settings.xml中的标签,为其添加如下子标签:

<mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>
</mirror>

安装的小插曲:
安装过后在cmd中运行maven -version报错

原因是我下载的是源文件,应该下载二进制文件。

重新下载配置后,成功安装效果如下:

配置本地仓库:
在安装的目录下新建一个mvn_resp的文件夹作为本地仓库的文件夹,然后在conf文件中将setting中的修改为我这个文件夹的路径:

基本使用

常用命令

compile: 编译
clean: 清理
test: 测试
package: 打包
install: 安装

1.compile

执行compile之后,由于我的本地仓库还没有依赖,会先从配置的阿里云中下载,完成后可以看到本地仓库新增了依赖

编译后

可以看到项目文件中多了一个target文件

这里面就保存了编译后的字节码文件
2.clean
删除target
3.package
打成jar包

4.test
会自动执行test下的代码
5.install
会把当前项目打包的jar包同步到本地仓库

生命周期

IDEA配置Maven

配置环境

第一步:File中选择settings

第二步:搜索Maven

第三步:设置IDEA使用本地的Maven,并修改设置路径

Maven坐标

●什么是坐标?
1.Maven中的坐标是资源的唯一标识
2.使用坐标来定义项目或引入项目中需要的依赖
●Maven坐标主要组成
1.groupld: 定义当前Maven项目隶属组织名称(通常是域名反写,例如: com.itheima)
2.artifactld: 定义当前Maven项目名称(通常是模块名称,例如order-service、 goods-service)
3.version: 定义当前项目版本号

IDEA新建Maven项目

第一步:在新建工程的时候选择Maven

第二步:配置信息

配置后:

IDEA导入Maven项目

1.选择右侧Maven面板, 点击+号

2.选中对应项目的pom.xml文件, 双击即可
3.如果没有Maven面板, 选择
View→Appearance→Tool Window Bars

依赖管理

使用坐标导入jar包

<!--导入mysql jar包-->
    <dependencies>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.0.32</version>
        </dependency>
    </dependencies>

依赖范围


eg:
添加范围:

<scope>test</scope>

这样这个驱动jar包就只能在test环境中生效,而在正式的环境中无法生效:

posted @ 2023-03-01 18:11  男人的浪漫  阅读(34)  评论(0)    收藏  举报