当前位置: 首页 > article >正文

Web后端快速入门(Maven)

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

开源项目:Welcome to The Apache Software Foundation.

Maven的作用:

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

在pom中描述信息,Maven就会自动联网下载

统一项目结构(提供标准、统一的项目结构)

生成的目录结构都是统一,可以直接导入进其他开发工具中

项目构建(标准跨平台的自动化项目构建方式)

双击自动进行打包编译

概述:

介绍:

Apche Maven 是一款用于管理和构建java项目的工具,它基于项目对象模型(POM)的概念,通过一小段信息来管理项目的构建。

通过插件完成项目的标准化构建

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

(导入依赖时一般先从本地仓库加载,如果没有再连接中央仓库下载)

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

中央仓库:由Maven团队维护的全球唯一的。仓库地址:Central Repository:

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

安装:

安装步骤:

1.解压 apach-maven-3.6.1-bin.zip。(官网中搜索下载)

解压后文件:

bin:存放可执行文件   conf:配置文件目录   lib:所依赖的jar包资源存放的目录

2.配置本地仓库:修改conf/settings.xml中的<localRepository>为一个指定目录。

在conf的settings.xml文件中加入以下标签即可

<localRepository>您的路径</localRepository>

(主要用于存储下载到本地的资源)

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

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

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

验证是否配置成功,在控制台中输入mvn -v,输出版本号则配置成功

IDEA集成Maven:

配置Maven环境:

方式一:
 方式二:

在该界面中配置

 

 

 

创建Maven项目:

点击模块,选择jdk版本为11即可

导入Maven项目:

依赖管理:

依赖配置:

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

配置:

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

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

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

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

依赖查询网站:Maven Repository: Search/Browse/Explore

依赖传递:

依赖具有传递性

 第一层依赖为直接依赖

上图的A项目也依赖C

右键点击图表再点击查看图表,可查看依赖

 如果A依赖了B,而B依赖了C,我们不需要依赖C可以使用排除依赖

排除依赖:

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

使用标签<exclusions>

依赖范围:

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

作用范围:

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

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

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

生命周期:

Maven的生命周期就是为了对所有的maven项目构建进行抽象和统一

 

 在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行。

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

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

在命令行中,通过命令执行。

maven的执行都是通过插件实现的

http://www.lryc.cn/news/2398179.html

相关文章:

  • 机器学习算法:逻辑回归
  • 企业展示型网站模板HTML5网站模板下载指南
  • ArrayList和LinkedList(深入源码加扩展)
  • Unity UI 性能优化--Sprite 篇
  • AI健康小屋+微高压氧舱:科技如何重构我们的健康防线?
  • OpenCV C++ 学习笔记(五):颜色空间转换、数值类型转换、图像混合、图像缩放
  • 如何做接口测试?
  • 【JMeter】性能测试知识和工具
  • SOC-ESP32S3部分:25-HTTP请求
  • 字符编码全解析:ASCII、GBK、Unicode、UTF-8与ANSI
  • 《前端面试题:HTML5、CSS3、ES6新特性》
  • MaxCompute开发UDF和UDTF案例
  • 49套夏日小清新计划总结日系卡通ppt模板
  • 告别硬编码!用工厂模式优雅构建可扩展的 Spring Boot 应用 [特殊字符]
  • Express教程【006】:使用Express写接口
  • mongodb集群之分片集群
  • Starrocks Full GC日志分析
  • 飞算 JavaAI 赋能老项目重构:破旧立新的高效利器
  • RockyLinux9安装Docker
  • RequestRateLimiterGatewayFilterFactory
  • 解决 xmlsec.InternalError: (-1, ‘lxml xmlsec libxml2 library version mismatch‘)
  • 【Linux基础知识系列】第九篇-Shell脚本入门
  • typescript的Interface和Type
  • java后端生成心电图-jfreechart
  • 算法/机理模型演示平台搭建(二)——算法接口部署(FastApi)
  • 动态规划-647.回文子串-力扣(LeetCode)
  • es 的字段类型(text和keyword)
  • Kotlin 中companion object {} 什么时候触发
  • 仿真每日一练 | Workbench中接触种类及选择方法简介
  • Go语言中的rune和byte类型详解