Maven基础

Maven基础

一、概述:

Maven是用于管理和构建Java项目的工具,它的主要功能有:

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

​ 提供了一套标准化的构建流程(编译,测试,打包,发布......)

​ 提供了一套依赖管理机制

1、标准化的项目结构:

​ 不同的IDE之间,项目结构不一样,不通用

Maven提供了一套标准化的项目结构,所有的IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用

2、标准化的构建流程

​ 编译 ---> 测试 ---> 打包 ---> 发布

Maven提供了一套简答的命令来完成项目的构建

3、依赖管理

​ 其实就是管理你项目所依赖的第三方资源(jar包、插件)

​ 以前:1、下载jar包;2、赋值jar包到项目;3、将jar包加入工作环境

​ Maven使用标准的坐标配置来管理各种依赖

​ 只需要简单的配置就可以完成依赖管理

二、Maven 简介

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

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

Maven模型:

项目对象模型:pom.xml

依赖管理模型:仓库

插件

仓库的分类:

​ 本地仓库:自己计算机上的一个目录

​ 中央仓库:由Maven团队维护的全球唯一的仓库

​ 地址:https://repo1.maven.org/maven2/

​ 远程仓库(私服):一般由公司团队搭建的私有仓库

本地仓库 与 中央仓库:本地没有就自动去中央下载到本地,本地有了就不去了

有远程仓库的话:本地 ---> 远程 ---> 中央(在国外,访问较慢且一般为开源jar包)

三、Maven安装

​ 1、解压网盘资源

​ 2、配置环境变量 MAVEN_HOME 为安装路径的bin目录,然后再Path中添加:%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>

四、Maven基本使用

在:src同级目录下 Shift + 鼠标右键

1、Maven 常用命名:

​ complie:编译,并生成target目录

​ clean:清理,target目录

​ test:测试,运行test目录下的代码

​ package:打包,生成target目录并生成jar包 (注意路径中不要出现&符号)

​ install:将jar包安装在本地仓库,其在仓库的目录为mian/java下的第一个包名

2、Maevn 声明周期:

Maevn 构建项目的生命周期描述的是一次构建过程经历了多少事件

Maevn 对项目构建的生命周期划分为3套

​ clean:清理工作

​ default:核心工作,例如编译,测试,打包,安装等

​ site:产生报告,发布站点等

同一生命周期内,执行后面的命令,前面的所有命令会自动执行

例如下列三个:

​ pre-clean clean post-clean

​ complie test package install (可以先删除target目录,再使用install来自己测试一下)

​ pre-site site post-site

五、IDEA配置Maven

1、IDEA 配置 Maven 环境:

​ 1、选择 IDEA中 File ---> Setting

​ 2、搜索 maven

​ 3、设置 IDEA 使用本地安装的 Maven,并修改配置文件路径(一个是maven安装路径,一个是settings.xml路径)

2、Maven 坐标详情:

什么是坐标?

​ Maven 中的坐标是资源的唯一标识

​ 使用坐标来定义项目或引入项目中所需要的依赖

Maven 坐标主要组成

​ groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)

​ artifactId:定义当前Maven项目名称(通常是模块名称[代表一些功能],例如:order-service、goods-service)

​ version:定义当前项目版本号

<groupId>com.itheima</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0-SNAPSHOT</version>


<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.46</version>
</dependency>
3、IDEA 创建 Maven 项目:

​ 1、创建模块,选择Maven,点击Next

​ 2、填写模块名称,坐标信息,点击finish,创建完成

​ 3、编写 HelloWorld,并运行

​ 注意当出现报错:不支持发行版本5或者不支持源选项5,请使用6或更高版本时,需要将环境设置为JDK版本,可以去网上搜

4、IDEA导入Maven项目:

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

​ 2、选中对应项目pom.xml文件,双击即可

​ 3、如果右侧没有Maven面板,选择:View ---> Appearance ---> Tool Window Bars

配置Maven - Helper插件

​ 1、选择IDEA中Flie -->Settings

​ 2、选择 Plugins

​ 3、搜索 Maven,选择第一个Maven Helper,点击Install安装,弹出面板中点击Accept

​ 4、重启IDEA

六、依赖管理

使用坐标导入jar包

​ 1、在pom.xml中编写标签

​ 2、在标签中 使用 子标签引入坐标

​ 3、定义坐标的groupId,artifactId, version(坐标由这三个子标签组成)

​ 4、点击刷新按钮,使坐标生效

参考写法:

<dependencies>
	<!-- mysql 坐标 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.32</version>
    </dependency>
</dependencies>

依赖范围

​ 通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境、测试环境、运行环境

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13</version>
    <scope>test</scope>
</dependency>

依赖范围的取值与作用表

依赖范围 编译classpath 测试classpath 运行classpath(war包中看) 例子
complie Y Y Y logback
test - Y - Junit
provided Y Y - serviet-api
runtime - Y Y jdbc-驱动
system Y Y - 存储在本地的jar包
import 引入DependencyManagement

的默认值:compile

注:.war可以用解压应用打开,在WEB-INF下的lib目录中可以看到所依赖的jar包,从而查看依赖范围作用是否在运行用有效

posted @ 2023-01-16 11:10  如此而已~~~  阅读(27)  评论(0编辑  收藏  举报