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内置工具,或命令行敲命令

相关推荐
AC赳赳老秦11 分钟前
行业数据 benchmark 对比:DeepSeek上传数据生成竞品差距分析报告
开发语言·网络·人工智能·python·matplotlib·涛思数据·deepseek
TheITSea19 分钟前
Java中的Optional:从入门到精通
java·开发语言
程序员侠客行24 分钟前
Mybatis入门到精通 一
java·架构·mybatis
糕......24 分钟前
Java异常处理完全指南:从概念到自定义异常
java·开发语言·网络·学习
御水流红叶24 分钟前
第七届金盾杯(第一次比赛)wp
开发语言·python
Lhan.zzZ25 分钟前
Qt跨线程网络通信:QSocketNotifier警告及解决
开发语言·c++·qt
小徐Chao努力25 分钟前
【Langchain4j-Java AI开发】04-AI 服务核心模式
java·人工智能·python
superman超哥26 分钟前
仓颉性能优化秘籍:内联函数的优化策略与深度实践
开发语言·后端·性能优化·内联函数·仓颉编程语言·仓颉·仓颉语言
Wang's Blog27 分钟前
Lua: 元表机制实现运算符重载与自定义数据类型
开发语言·lua
我找到地球的支点啦28 分钟前
Matlab系列(006) 一利用matlab保存txt文件和读取txt文件
开发语言·算法·matlab