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文件存放处)
相关推荐
蜗牛^^O^43 分钟前
Docker和K8S
java·docker·kubernetes
从心归零1 小时前
sshj使用代理连接服务器
java·服务器·sshj
IT毕设梦工厂2 小时前
计算机毕业设计选题推荐-在线拍卖系统-Java/Python项目实战
java·spring boot·python·django·毕业设计·源码·课程设计
Ylucius3 小时前
动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
java·c语言·javascript·c++·python·学习
七夜zippoe3 小时前
分布式系统实战经验
java·分布式
是梦终空3 小时前
JAVA毕业设计176—基于Java+Springboot+vue3的交通旅游订票管理系统(源代码+数据库)
java·spring boot·vue·毕业设计·课程设计·源代码·交通订票
落落落sss4 小时前
sharding-jdbc分库分表
android·java·开发语言·数据库·servlet·oracle
码爸4 小时前
flink doris批量sink
java·前端·flink
Monodye4 小时前
【Java】网络编程:TCP_IP协议详解(IP协议数据报文及如何解决IPv4不够的状况)
java·网络·数据结构·算法·系统架构
一丝晨光4 小时前
逻辑运算符
java·c++·python·kotlin·c#·c·逻辑运算符