Maven的详细介绍(maven的全据配置以及idea中maven的配置)

maven的理解

Maven 是一个强大的项目管理和构建自动化工具,它通过抽象的项目对象模型(POM:Project Object Model)和构建生命周期模型(Project Lifecycle)来对项目及其构建过程进行管理(Dependency Management System),Maven 最大化的消除了构建的重复,提升了构建的效率与标准化。除此之外,Maven 还有依赖管理、自动生成项目站点、代码静态检查等特性。现在已经有无数开源或商业项目使用Maven进行构建,Maven 现在已经是 Java 社区事实标准的构建工具。

  • maven定义一套项目生命周期。清理、初始化、编译、测试、报告 、打包、部署、站点生成。

maven的仓库

仓库名称 作用
本地仓库 相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上).第二次不需要从远程仓库去下载,先从本地仓库找,如果找不到才会去远程仓库找
远程仓库中央仓库 仓库中jar由专业团队(maven团队)统一维护。中央仓库的地址:https://repo1.maven.org/maven2
远程仓库私服 在公司内部架设一台私服,私服代理其他的远程仓库, 当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从代理的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。

maven查询坐标常用网站: https://mvnrepository.com/

maven的下载

下载官网地址:https://maven.apache.org/download.cgi

maven配置

配置环境变量

安装maven之前,必须先确保你的电脑中已经安装了JDK

  1. 在系统环境变量中,添加 MAVEN_HOME ,值为 maven 的解压路径.
  2. 在Path环境变量的变量值末尾添加 %MAVEN_HOME%\bin
  3. 验证,在 cmd 窗口输入 mvn -version 。出现如下界面表示配置成功:

本地仓储、镜像 配置

全局配置

  • 从中央仓库下载的jar包,都会统一存放到本地仓库中。我们需要配置本地仓库的位置
    打开 maven 安装目录,打开 conf 目录下的 setting.xml 文件。找到如下节点并修改为如下图所示:

    maven 默认仓库地址是 {用户根目录下}/.m2/repository

阿里云镜像配置

在 setting.xml 文件中,找到如下地方并修改为如下图所示:

xml 复制代码
mirror>
	<id>aliyunmaven</id>
	<mirrorOf>*</mirrorOf>
	<name>阿里云公共仓库</name>
	<url>https://maven.aliyun.com/repository/public</url>
</mirror>

局部配置

{用户根目录}/.m2 在这个目录下做 maven 的配置

在idea中使用maven

建议使用自己下载的 maven,所以先进行全局 maven 配置

配置如下所示:

注意配置文件的位置,如果和本地环境不同。可以勾选 Override 后重新选择

这里勾选是为了查看jar包的注释文档以及注解

开始构建maven项目

  1. 选择 maven 项目,创建时选择maven骨架

第二步:

Maven的标准工程结构

Maven的标准工程结构如下:

复制代码
|-- pom.xml (maven的核心配置文件)
|-- src
	| -- main (主要)
		| -- java (java源代码目录)
		| -- resources (资源文件目录)
	|-- test (测试)
		-- java (单元测试代码目录)
|-- target (输出目录,所有的输出物都存放在这个目录下)
	|-- classes (编译后的class文件存放处)
相关推荐
Boop_wu2 分钟前
Spring生态
java·后端·spring
jzheng86103 分钟前
Spring Boot(快速上手)
java·spring boot·后端
wgslucky3 分钟前
SpringBoot解决Request和Response的内容多次读取的问题
java·spring boot·多次读取request数据
Sylvia-girl20 分钟前
IO流~~
java·开发语言
冰暮流星33 分钟前
javascript之数组
java·前端·javascript
Re.不晚36 分钟前
JAVA进阶之路——无奖问答挑战3
java·开发语言
不倒翁玩偶1 小时前
IDEA导入新的SpringBoot项目没有启动按钮
java·spring boot·intellij-idea
小小小米粒1 小时前
Maven Tools
java
kali-Myon1 小时前
2025春秋杯网络安全联赛冬季赛-day1
java·sql·安全·web安全·ai·php·web
我是咸鱼不闲呀1 小时前
力扣Hot100系列20(Java)——[动态规划]总结(下)( 单词拆分,最大递增子序列,乘积最大子数组 ,分割等和子集,最长有效括号)
java·leetcode·动态规划