MAVEN的安装与配置教程(超详细版)

article/2025/9/23 12:37:58

前言:在MAVEN的安装和配置开始之前,先给大家介绍一下MAVEN。

1.MAVEN的认识

1.1什么是MAVEN?

Maven是一个项目构建及管理工具,开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置, Maven 使用了一个标准的目录结构在不同开发工具中也能实现项目结构的统一。Maven提供了清理,编译,测试,安装,打包,发布等命令可以让我们更加方便的去构建项目,同时采用pom.xml来导入依赖,可以自动下载jar,以及其所依赖jar,无需手动下载,拷贝jar到项目中,大大解放了程序员的劳动力。

1.2 MAVEN的优点

  • 自动构建:清理,编译,测试,安装,打包,发布

  • jar包依赖管理:自动下载jar及其依赖的jar包

  • 契约编程:在多种开发工具中也能实现项目结构的统一

1.3 MAVEN的功能

使用Maven可以为我们完成很多相应的功能:清理代码,自动编译,完成测试,生成站点报告,进行打包(jar,war),项目部署。

  • 清理代码:相当于我们运行clear的效果

  • 自动编译:可以较为方便的实现对项目的管理

  • 打包:普通项目打jar包,web项目打成war包

  • 项目部署:只需一行命令就能实现项目的部署

2. MAVEN安装

2.1 MAVEN下载

点击 Maven官网 跳转至官网点击 Download

windows用户直接下载bin.zip

下载完成后将压缩包进行解压,将解压后得到的包存放到C盘外的磁盘中,得到如下:

在路径地址中复制apache-maven-3.3.9的路径地址:D:\apache-maven-3.3.9

2.2 MAVEN环境变量配置

注意:配置Maven环境变量之前必须确保jdk配置没有问题

点击win键-输入:查看高级系统设置- 点击:环境变量-下面的系统变量中配置

MAVEN_HOME:

D:\apache-maven-3.3.9

path:

%MAVEN_HOME%\bin

打开windows终端输入:

mvn -v    // 查看maven版本号

若出现这几段字母代表Maven安装完成,接下来要进行Maven的其他配置

3. MAVEN的配置

3.1 理解MAVEN仓库

Maven会自动为我们添加相应的jar包,而这个jar包会先在本地仓库中查找,如果本地仓库中不到,则会去中央仓库(非本地)中进行下载。

3.2配置本地仓库

  1. 打开Windows终端输入

mvn    // 初始化maven

Maven初始化后,会在C盘User文件夹-本地账号文件夹中自动创建.m2文件夹,包含一个空的名为Repository的文件夹,在这里,我们不推荐将本地仓库存放在C盘,所以我们需要将Repository文件夹删除,保留.m2即可。

  1. 在C盘之外的一个盘符中创建一个文件夹用来当作Maven的本地仓库,例如:D:\devtools\Maven-Repository

  1. 进入Maven安装目录,在config文件夹中找到一个settings.xml 配置文件,用记事本或者VSCode打开,在localRepository的注释标签下面添加

<loaclRepository>D:\devtools\Maven-Repository</localRepository>

编辑完 ctrl + s 保存一下,先不用急着关闭该文件。

3.3 配置中央仓库

在配置中央仓库之前,我们需要知道Maven作为项目构建及管理工具是如何管理jar包的。

首先每当我们开发一个项目的时候,需要导入一些项目需要的依赖,也就是相关的jar包,只有导入这些依赖,项目才能正常,高效地运行起来。

当我们需要某一个jar包的时候,我们需要在项目的pom.xml文件中去配置所需要的依赖以进行导入到项目中,则此时,Maven会先去本地仓库中查找是否存在相应的jar包,如果有,配置就能直接用,如果Maven在本地仓库中没有找到,则Maven会去中央仓库中下载相应的jar包存放到本地仓库在进行导入到项目中。

配置中央仓库只需要将下面的一段代码直接复制粘贴到settings.xml文件的<mirrors></mirrors>中即可。

<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url> 
</mirror>

接下来是很关键的一个步骤:将settings.xml文件复制粘贴到C:\User\用户名\.m2\中。

4. MAVEN的使用

4.1 MAVEN项目结构

首先不得不重复提一下,MAVEN是一个项目构建及管理工具,开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置, MAVEN 使用了一个标准的目录结构在不同开发工具中也能实现项目结构的统一。

4.1.1 MAVEN项目目录展示

ProjectStructure

  • src

  • main

  • java

  • test

  • java

  • pom.xml

4.1.2 项目根目录pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><!-- maven模型版本 -- ><modelVersion>4.0.0</modelVersion><!-- 项目的groupId(项目组织唯一标识符),一般使用项目域名倒写--><groupId>com.zfl19</groupId><!-- 项目的 artifactId(项目的唯一的标识符,对应项目名),groupId+artifactId 组成完成的项目坐标-><artifactId>Maven_Hello</artifactId><!--项目版本--><!-- SNAPSHOT:快照,开发版本 --><!-- RELEASE:释放, 稳定版本 --> <version>0.0.1-SNAPSHOT</version><!--项目名--><name>Hello</name><dependencies><!--导入一个junit包--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.9</version><scope>test</scope></dependency></dependencies></project>

4.2 MAVEN命令

  • mvn compile : 编译命令,可以重新编译源代码为字节码文件,如果有jar包没下载完成,这个命令会先把需要的jar包下载完成后再编译

  • mvn clean : 清理命令,会把项目结构中的target文件夹中的字节码文件删除,可以组合 : mvn clean compile

  • mvn test :测试命令会帮我们执行测试代码

  • mvn package : 打包命令,可以把项目打包成一个jar,该命令会先执行clean,test,compile,如果不想执行测试命令可以跳过:mvn package -Dmaven.test.skip=true

  • mvn install : 项目打包后安装到本地仓库

  • mvn source:jar : 生成项目的源码包

  • mvn clean site : 生成文档

4.3 MAVEN管理jar包

如果项目需要导入某个jar包,则需要再pom.xml中添加依赖的坐标

<dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>3.0.5.RELEASE</version><scope>compile</scope>
</dependency>

切记,这里没必要死记硬背,只需要知道我们要在项目中导入某个依赖要填写什么东西,能理解这几句代码的意思,就行了,基本上要导入某个jar包都是ctrl + c和ctrl + v解决,接下来会有一个方法方便我们使用MAVEN导入jar包。

4.4 如何搜索jar包

点击进入MAVEN中央仓库

如果点进来看到这个画面

点击的单选框就行了。

搜索框输入你想要的jar包,这里以junit为例子,点击第二个就行了

找到自己所需要的版本,点进去就可以看到导入maven项目的jar坐标

5. MAVEN配置jdk版本

在MAVEN安装目录的config文件夹打开settings.xml文件,在<profiles></profiles>加入即可。

<profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties></profile>

http://chatgpt.dhexx.cn/article/aQ6S3PlG.shtml

相关文章

maven配置详解

下载地址&#xff1a;Maven – Download Apache Maven&#xff0c; 添加环境变量&#xff1a;MAVEN_HOME 一、配置文件 maven的配置文件主要有 settings.xml 和pom.xml 两个文件。 1.其中在maven安装目录&#xff0c;例如apache-maven-3.8.1\conf目录下的settings.xml 文件是…

Maven配置(IDEA配置)

目录 Maven配置IDEA配置配置Tomcat聚合开发 1、Maven配置 &#x1f373;、下载maven 官方&#xff1a;http://maven.apache.org/download.html &#x1f373;、解压即用&#xff0c;直接解压到指定目录 &#x1f373;、配置环境变量跟Java一样 主要配置M_HOME环境变量&#…

Maven安装和配置详细教程

一、安装Maven 1.官网下载 Binary是可执行版本&#xff0c;已经编译好可以直接使用。 Source是源代码版本&#xff0c;需要自己编译成可执行软件才可使用。 tar.gz和zip两种压缩格式,其实这两个压缩文件里面包含的内容是同样的,只是压缩格式不同 tar.gz格式的文件比zip文件小很…

数据库左连接和右连接有什么区别!

大家好我是艺霏&#xff0c;今天和大家谈一下数据库左连接和右连接有什么区别&#xff1f; 数据库中的左连接和右连接的区别可以概括为一句话来表示即左连接where只影响右表&#xff0c;右连接where只影响到左表 image.png 在这里推荐一个MySQL方面的教程 数据库中的左连接(…

左右连接和内外连接

左连接 select 列1,列2,列N from tableA left join tableB on tableA.列 tableB.列(正常是一个外键列) [此处表连接成一张大表&#xff0c;完全当成一张普通表看] where,having,group by …照常写。 右连接 select 列1,列2,列N from tableA right join tableB on ta…

秋招被问mysql左连接和右连接的区别?

hello我是辰兮&#xff0c;最近项目常常和mysql打交道&#xff0c;让我想起来我去年秋招的一到面试题&#xff0c;整理分享出来&#xff0c;菜是原罪&#xff0c;不过一起进步吧&#xff01; 去年秋招面试官就问我&#xff1a;数据库左连接和右连接有什么区别&#xff1f; 基…

mysql左连接区别_Mysql----左连接、右连接、内连接、全连接的区别

最近,突然想起来数据库有好些时间没用到,所以,想把数据库有关的知识回顾一下,所以接下来这个月,基本上会以数据库的帖子来写为主,首先,很多同学都会有个错觉,觉得学习数据库会sql语句的增删改查就够了,其实,这仅仅是片面的认知,掌握了这些还远远不够,sql是你作为谋求…

内连接,左右连接的区别

内连接&#xff0c;左右连接的区别 通过Mysql数据库实际操作演示&#xff0c;来展示该三者的区别。数据库版本&#xff1a;mysql Ver 8.0.19 先创建两个表test1和test2 sql语句&#xff1a; CREATE TABLE test1 (a_id int(11) DEFAULT NULL,a_name varchar(10) DEFAULT NUL…

数据库中的左连接和右连接的区别

数据库中的左连接和右连接的区别 今天&#xff0c;别人问我一个问题&#xff1a;数据库中的左连接和右连接有什么区别&#xff1f;如果有A&#xff0c;B两张表&#xff0c;A表有3条数据&#xff0c;B表有4条数据&#xff0c;通过左连接和右连接&#xff0c;查询出的数据条数最少…

mysql左连接和右连接_MYSQL 左连接与右连接

一、 LEFT JOIN LEFT JOIN 关键字从左表(table1)返回所有的行&#xff0c;即使右表(table2)中没有匹配。如果右表中没有匹配&#xff0c;则结果为 NULL。 语法&#xff1a; SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_nametable2.column_name; 举例…

mysql 左连接与右连接的区别吗_数据库左连接和右连接有什么区别

数据库中的左连接和右连接的区别可以概括为一句话来表示即左连接where只影响右表,右连接where只影响到左表 【推荐课程:MySQL教程】 数据库中的左连接(left join)和右连接(right join)区别 左连接(Left Join)select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID 左连…

左连接与右连接比较

目录 右外连接和左外连接有什么区别 左连接如何工作 右连接的工作原理 外连接比较 右连接比较 左连接比较 右外连接和左外连接有什么区别 欢迎回来。在本课中&#xff0c;我们将学习右连接和左连接之间的区别。 左外连接和右外连接的区别与表位置有关。left和right指的…

数据库中的左连接和右连接

1、两张表的内容为&#xff1a; 2、左连接&#xff08;Left Join&#xff09;&#xff1a;只影响右表中的内容&#xff0c;结构集为左表的内容右表中与左表相匹配的内容。 也就是表明左链接是以关键字左边的表为主&#xff0c;在加上右表与左表相匹配的内容。 第一种&#xf…

C# combox

添加项 代码写选种哪一项 如何在下拉项中插入一个项

pyqt5---combox

#添加下拉框内容 self.combox.additem(一) self.combox.additem(一)#设置当前的索引 self.combox.setCurrentIndex(0)#获取当前选择的索引 self.combox.currentIndex()#下拉框选择索引改变槽函数 self.combox.curentIndexChanged.connect(self.func)#qss样式

WPF空心圆角combox

VS自带的控件总是觉得不够美观&#xff0c;而xaml语言提供了一个自己编写控件样式的可能性 效果图&#xff1a; xaml代码&#xff1a; <ComboBox.Resources><Style TargetType"{x:Type ComboBox}"><Setter Property"Width" Value"12…

WPF ComBox绑定数据

1、xmal文件中添加 DisplayMemberPath、SelectedValuePath属性 <ComboBox Name"MeaType" RenderTransformOrigin"1.72,2.273" Canvas.Left"48" Canvas.Top"226" Width"110" DisplayMemberPath"Name" Selecte…

可多选的combox

我们很多时候用到的是combox单选的功能&#xff0c;如果需要多选怎么办呢&#xff1f;这就需要combox的一个属性 multiple:true JS代码&#xff1a; $(#institution).combobox({url : queryinstitutionList,valueField : id,textField : InstitutionName,multiple:true,edit…

控件combox

目录(?)[] 一 combox显示二 取数据三实例 来自CODE的代码片 TestControlerscs 一. combox显示 首先combox有两个属性来存储数据&#xff1a;DisplayMember(显示成员),ValueMember(值成员) &#xff0c;DisplayMember是我们在combox界面上看到的&#xff0c;ValueMember是隐藏…

wpf 自定义combox控件

关键步骤 1、新建usercontrol使用基本的控件进行设计 2、依赖属性的定义&#xff0c;目的&#xff1a;外部调用时候能够使用属性进行控件样式的控制 例如 Width"200" DisplayMemberPath"Name" SelectedItem"{Binding SelectedItem,ModeTwoWay}&…