Java Web-Maven

Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具

Maven的作用

**1.依赖管理:**方便快捷的管理项目依赖资源(jar包),避免版本冲突问题

我们有的项目需要大量的jar包,采用手动导包的方式非常繁琐,并且版本升级也不方便。当我们使用maven,只要创建maven工程,只需要在pom.xml配置文件中配置即可。

**2.统一项目结构:**提供标准,统一的项目结构

我们程序员使用的开发工具很多,但构建出来的项目目录结构有差异,使用Maven提供了标准的项目结构,这样不同开发工具开发的项目之间可以相互导入

pom.xml是maven的核心依赖,当前项目要导入的核心依赖都在里面

3.项目构建:提供便准跨平台的自动化项目构建方式

我们可以通过里面的指令快速完成清理,编译,测试打包等工作

Maven模型

各个插件就可以完成各种功能例如编译插件进行编译,打包阶段进行打包,而每部操作都会产生对应的文件,放在target目录下

项目对象模型是指在pom.xml文件中通过一小段配置信息来 描述这个工程,如下图标明了项目的组织,模块名称,版本。他们称为工程的坐标

当我们要关联jar包,就可以在xml文件当中添加依赖管理模型。在xml文件中用标签添加依赖

添加依赖之后,maven会自动到仓库查找依赖。首先到本地仓库查找,如果本地仓库没有,会连接中央仓库的jar包,下载到本地仓库。为了提高加载速度,还会引用公司自己搭建的仓库(私服),只要公司中有一个人用到了依赖,就会把依赖下载到私服中

仓库:是用于存储资源,管理各种jar包的

Maven安装

1.下载地址: Maven -- Download Apache Maven

bin目录存放的是可执行文件,conf目录存放的是配置文件,lib里是存放的jar包资源

**2.配置本地仓库:**配置一个地址作为本地仓库用来存储下载的jar包资源

方法:修改conf/setting.xml中的<localRepsitory>为一个指定目录

**3.配置私服:**修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签

**4.配置环境变量:**MAVEN_HOME为maven的解压目录,并将其bin目录加入PATH环境变量。

IDEA集成maven

配置maven环境
  • 配置当前工程的maven环境

配置安装路径,xml文件和本地仓库

关联的jre是否是对应的版本

和配置java语言的字节码版本

  • 配置全局maven环境工程

在主界面配置即可

IDEA创建maven项目

1.创建项目,选择maven Archetype,并修改 Archetype的值

2.填写坐标信息

坐标是资源的唯一标识,通过坐标可以定义资源的唯一位置

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

导入maven项目

方式一:打开IDEA,选择右侧Maven面板,点击+号,选中对应项目的pom.xml文件,双击即可。

如果点没有弹出对话框,点击Apperance勾选进行调出

方式二:模块中导入pom文件

依赖管理

依赖配置

依赖: 指当前项目运行所需要的jar包,一个项目中可以引入多个依赖。
配置:

  1. 在pom.xml中编写<dependencies>标签

  2. 在<dependencies>标签中 使用<dependency>引入坐标

  3. 定义坐标的 groupld, artifactid, version

  4. 点击刷新按钮,引入最新加入的坐标

第一次使用依赖可能未下载,需要点击刷新按钮刷新联网下载依赖

如果不知道依赖的坐标信息,可以到https://mvnrepository.com/中搜索。

依赖传递

依赖具有传递性,被依赖的资源如果依赖了其他资源,那么依赖的依赖也会导入

排除依赖

排除依赖指主动断开依赖的资源,被排除的资源无需指定版本。

依赖范围

依赖的jar包,默认情况下,可以在任何地方使用。可以通过<scope> ...< / scope>设置其作用范围

作用范围:

主程序范围有效。(main文件夹范围内)

测试程序范围有效。(test文件夹范围内)

是否参与打包运行。(package指令范围内)

生命周期

Maven中有3套相互独立的生命周期:

clean: 清理工作。

default:核心工作,如:编译、测试、打包、安装、部署等。

site:生成报告、发布站点等。

每套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。

lifecycle就是生命阶段。

我们来讲几个重要的生命阶段:

clean:移除上一次构建生成的文件

compile:编译项目源代码

test:使用合适的单元测试框架运行测试(junit)

package:将编译后的文件打包,如:jar、war等

install:安装项目到本地仓库

执行指定生命周期的方式:

在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行。

相关推荐
宝哥的菜鸟之路1 分钟前
Python 数据分析概述 ①
开发语言·python·数据分析
全栈若城1 分钟前
03 Python字符串与基础操作详解
java·开发语言·python
伯牙碎琴12 分钟前
二、Spring Framework基础:IoC(控制反转)和DI(依赖注入)
java·spring·log4j
菲力蒲LY15 分钟前
输入搜索、分组展示选项、下拉选取,全局跳转页,el-select 实现 —— 后端数据处理代码,抛砖引玉展思路
java·前端·mybatis
南宫生26 分钟前
力扣每日一题【算法学习day.130】
java·学习·算法·leetcode
!!!52536 分钟前
Java实现斗地主-做牌以及对牌排序
java·算法
我要最优解37 分钟前
关于在mac中配置Java系统环境变量
java·flutter·macos
honghongstand38 分钟前
代码随想录D52-53 图论 Python
开发语言·python·图论
二十七剑39 分钟前
jvm调试和查看工具
java·linux·jvm
过客猫202244 分钟前
使用 deepseek实现 go语言,读取文本文件的功能,要求支持 ascii,utf-8 等多种格式自适应
开发语言·后端·golang