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工具栏,选中对应的生命周期,双击执行。

相关推荐
鲤籽鲲4 分钟前
C# MethodTimer.Fody 使用详解
开发语言·c#·mfc
亚图跨际7 分钟前
Python和R荧光分光光度法
开发语言·python·r语言·荧光分光光度法
Rverdoser15 分钟前
RabbitMQ的基本概念和入门
开发语言·后端·ruby
dj244294570719 分钟前
JAVA中的Lamda表达式
java·开发语言
工业3D_大熊32 分钟前
3D可视化引擎HOOPS Luminate场景图详解:形状的创建、销毁与管理
java·c++·3d·docker·c#·制造·数据可视化
szc176736 分钟前
docker 相关命令
java·docker·jenkins
程序媛-徐师姐1 小时前
Java 基于SpringBoot+vue框架的老年医疗保健网站
java·vue.js·spring boot·老年医疗保健·老年 医疗保健
yngsqq1 小时前
c#使用高版本8.0步骤
java·前端·c#
流星白龙1 小时前
【C++习题】10.反转字符串中的单词 lll
开发语言·c++
尘浮生1 小时前
Java项目实战II基于微信小程序的校运会管理系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea