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

相关推荐
康小庄1 分钟前
浅谈Java中的volatile关键字
java·开发语言·jvm·spring boot·spring·jetty
vx_bisheyuange3 分钟前
基于SpringBoot的海鲜市场系统
java·spring boot·后端·毕业设计
移幻漂流7 分钟前
C/C++并发编程详解:如何写出优秀的并发程序
c语言·开发语言·c++
康康的AI博客11 分钟前
工业数据中台:PLC、SCADA、MES的实时协同架构
java·服务器·网络
余醉 | dtminer18 分钟前
R语言常见新手问题
开发语言·r语言
それども22 分钟前
为什么要加@ResponseBody
java·开发语言·spring boot
一只专注api接口开发的技术猿33 分钟前
微服务架构下集成淘宝商品 API 的实践与思考
java·大数据·开发语言·数据库·微服务·架构
被星1砸昏头40 分钟前
C++中的享元模式
开发语言·c++·算法
2501_9444241243 分钟前
Flutter for OpenHarmony游戏集合App实战之记忆翻牌配对消除
android·java·开发语言·javascript·windows·flutter·游戏
m0_748240441 小时前
Laravel5.6核心更新全解析
开发语言·php