Maven环境搭建及Maven部分目录分析

一、安装Maven

Maven 本身就是⼀套由 Java 开发的软件,所以 Maven 的运⾏需要依赖 JDK 环境。在安装 Maven 之前请 确认JDK 是否配置正确(主要依赖 JAVA_HOME 环境变量)。如果没有正确安装和配置 JDK ,则运⾏ Maven 时 会出现以下错误信息:
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
下载Maven 地址:http://maven.apache.org/download.html
检查JDK的安装情况
echo %JAVA_HOME%
java -version

对下载文件进行解压缩

设置系统环境变量
打开环境变量配置⾯板,新建变量如下:
变量名: M2_HOME
变量值: {Maven 的安装路径 } ,例如 C:\environment\apache-maven-3.6.3

接下来找到名为Path的系统环境变量,双击进⼊编辑,添加⼀条变量值:

配置完毕之后将所有⾯板点击******确定******关闭即可
测试安装结果
打开 CMD 命令⾏窗⼝,输⼊以下命令:
mvn -version

安装本地仓库
注意,本操作⾮必要。进⾏这项操作只是为了让⼤家操作项⽬更⽅便。
⾸先⼤致了解⼀下 Maven 管理依赖的⼤致流程和原理:
当需要使⽤某个依赖时,我们直接在配置⽂件中定义它的名称,⽆需⾃⼰到⽹上找资源
Maven 扫描到配置⽂件中的依赖声明,⾃动到 仓库 中查找
⾸先会到 本地仓库 中进⾏查找,如果存在则直接引⼊使⽤
本地仓库即⾃⼰磁盘中某个⽬录,会保存所有从远程仓库下载的依赖
如果本地仓库不存在,则会到 远程仓库 中进⾏查找
远程仓库指的是架设在某个远程服务器上的仓库,需要通过⽹络访问
如果在远程仓库中找到了该依赖,则会⾃动下载下来,安装到本地仓库中,然后再引⼊到项⽬中
如果远程仓库中也没有该依赖,则会报错
通过上述流程我们可以得知,当项⽬中需要使⽤某个依赖的时候,它只会直接从本地仓库进⾏查找。本地仓库中只要存在⽬标依赖,就可以引⼊进来使⽤。⾄于这个依赖是从何处得来的,并不重要。可以是从远程仓库下载的,也可以是从别⼈的电脑上复制得到的已有仓库内容。
我们已经把这个项⽬所需要⽤到的依赖完整下载好并打包,⼤家只要将解压出来的⽬录配置为⾃⼰的本地仓库,项 ⽬中即可直接使⽤,⽆需联⽹下载,这样可以节省⼤量的时间。
找到资源包中的 maven_repo.zip ⽂件,将其解压⾄ environment ⽬录。解压出来的这个路径,就是 本地仓库路 。 接下来,找到Maven 安装⽬录下的 conf/settings.xml⽂件,使⽤记事本打开该⽂件。改为刚才解压出来的 本地仓库路径 。修改完毕后保存并退出即可。

二、Maven目录介绍

bin目录 mvn.bat (以run方式运行项目)、 mvnDebug.bat(以debug方式运行项目 )

boot目录 maven运行需要类加载器

conf目录 settings.xml 整个maven工具核心配置文件

lib目录 maven运行依赖jar包

Maven安装目录分析

bin:含有mvn运行的脚本

boot:含有plexus-classworlds类加载器框架

conf:含有settings.xml配置文件

lib:含有Maven运行时所需要的java类库 LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍

遵从Maven约定

src/main/java ------ 存放项目的.java文件

src/main/resources ------ 存放项目资源文件,如spring, hibernate配置文件

src/test/java ------ 存放所有测试.java文件,如JUnit测试类

src/test/resources ------ 测试资源文件 target ------ 项目输出位置

pom.xml

相关推荐
苏生Susheng1 小时前
【软件实施】Linux企业运维常用命令手册
java·linux·运维·服务器·springboot·springcloud·软件实施
想要成为老金高手1 小时前
Kubernetes 调度器详解:从 nodeName 到污点容忍
java·容器·kubernetes
吴长建先生重名了1 小时前
ElasticSearch 检索系统性能优化实战:基准测试
java
西索斯coding1 小时前
doubao-seed-2.1-turbo 调用一直 401 怎么办?pro 版同样的 Key 却正常——5 分钟排查定位指南
java·服务器·数据库·ai
旧梦95271 小时前
Java SortedMap 接口详解:从入门到实战
java·开发语言
莫陌尛.1 小时前
Java_this构造方法
java·开发语言
2601_962297252 小时前
C# vs Java vs Python:YOLO工业部署性能对比实战
java·python·c·工业视觉·性能对比
计算机毕设定制辅导-无忧学长2 小时前
《基于SpringBoot的马术俱乐部管理系统》
java·spring boot·后端
Dreams°1232 小时前
【Java后端+Vue前后端分离:内网正常、公网访问异常|5个高频经典踩坑完整复盘】
java·开发语言·vue.js
学长毕业设计2 小时前
基于SpringBoot的民间艺术传承管理系统(源码+文档+讲解视频)
java·spring boot·后端