Maven-高效的Java项目构建与管理工具(含Maven详细安装与配置过程)

Maven

什么是Maven?

正如题目所说,Maven就是一款高效的Java项目构建与管理工具 ,基于项目对象模型 (POM)概念,利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。是Apache软件基金会的一个开源项目

Maven的作用

⭐依赖管理

依赖管理的出现极大的解放了Java项目Jar包导入的繁琐流程与重复工作量**,你只需在Maven项目的pom.xml文件(下面图片项目结构的最后一个文件)中引入相关依赖即可**

⭐统一项目结构

Maven提供了统一的Java项目结构,你不必担心不同编译器所带来的项目结构不兼容的困扰

⭐ 高效项目构建

Maven 提供了一系列项目构建指令Maven生命周期,由插件执行 ),使项目构建快速高效简单

依赖仓库

分为本地仓库,中央仓库与远程仓库(私服)

本地仓库:安装的Maven目录的依赖仓库文件夹,一般配置为mvn_repo,后面会配置

中央仓库:全球总仓库,几乎包含所有Jar包(国外网站,速度慢,一般用国内网站即可)

远程仓库(私服):由公司自己搭建的私有仓库,例如阿里巴巴私服

依赖获取 :本地仓库有的直接使用 即可,没有 则先在远程仓库获取远程如果还没有 再考虑中央仓库

Maven的安装与配置

安装

1.下载

进入Maven官网Maven -- Download Apache Maven下载即可

2. 解压

下载好的文件解压到到一个没有中文的目录中即可有中文可能会报错

解压后的目录

**bin:**存放可执行文件

**conf:**存放配置文件

**lib:**存放Maven依赖jar包

配置

1.创建本地仓库目录

Maven文件中新建文件夹mvn_repo即可

2.配置本地仓库目录

打开conf/settings.xml文件

添加 <localRepository>这里填你刚刚创建本地仓库文件地址</localRepository>

我的是 <localRepository>D:\apache-maven-3.6.1\mvn_repo</localRepository>,仅作参考

3.配置阿里云私服地址

还是在conf/settings.xml文件

将下面的复制到指定位置即可

<mirror>

<id>nexus-aliyun</id>

<mirrorOf>central</mirrorOf>

<name>Nexus aliyun</name>

<url>https://maven.aliyun.com/repository/public\</url>

</mirror>

4.配置环境变量

先复制maven的目录地址:D:\apache-maven-3.6.1(这是我的,文件夹里复制自己的)

打开系统高级设置 ,直接windows搜索即

点击环境变量

按下面步骤

1:点击新建

2:填好

3.确定

下面一样新建,填好,在一路确认就完成了环境变量配置

测试

win+r键 打开输入 cmd 进入命令提示符 输入

mvn -v

出现版本号

代表Maven 安装成功!!!

Idea配置Maven环境

配置全局环境

1.关闭项目

2.打开设置

3.配置好自己的地址

4. 改为自己JDK版本

5.改自己版本

配置完毕!!!

Idea创建Maven项目

New Project 然后按下面配置即可

Idea导入Maven项目

一路照做即可

依赖管理

依赖配置

引入项目依赖即引用坐标即可

如何引入依赖

cv工程师上线!!!

百度你想要的依赖或者进入Maven Repository: Search/Browse/Explore (mvnrepository.com)

搜索依赖(这里是logback)

找用的人多的版本就行

直接cv到pom.xml的文件里就完成

依赖传递

就是依赖的继承

依赖范围

依赖的作用范围

Maven生命周期

差不多就是项目构建的流程

生命周期全过程(5个红色的是常用的)

如何执行生命周期(构建项目)

Idea内置工具,或命令行敲命令

相关推荐
卢锡荣3 分钟前
单芯掌控多口互联|乐得瑞 LDR6020 PD3.1 多通道 Type‑C 控制 SOC 芯片
c语言·开发语言
2333!!!!!3 分钟前
rocket新手一些常见问题
java·开发语言
yume_sibai4 分钟前
02-Rust 所有权与借用深入解析(底层原理 + 借用检查器 + 生命周期 + 内部可变性)
开发语言·后端·rust
xxwxx__7 分钟前
深入理解 C++ STL:stack、queue 与 deque 从使用到底层实现全解析
开发语言·c++·算法
Highcharts.js7 分钟前
甘特图纵向任务、横向时间显示图表可视化开发|Highcharts甘特图示例
开发语言·前端·javascript·可视化·甘特图·数据可视化·highcharts
骇客野人9 分钟前
Springboot 的 配置文件 application.yml 和 bootrap.yml 的由来和作用
java·spring boot·后端
wuminyu13 分钟前
JVM锁膨胀与Futex源码解析
java·linux·c语言·jvm·c++
郝学胜-神的一滴15 分钟前
C++11 工程级应用 08:Lambda表达式与Tuple元组
开发语言·jvm·c++·python·程序人生·开源
CoderYanger21 分钟前
A.每日一题:3622. 判断整除性
java·程序人生·算法·leetcode·面试·职场和发展·蓝桥杯
吴声子夜歌25 分钟前
ApacheCommons——commons-lang3(Java 基础语言增强)(二)
java·开发语言·apache