手把手教你maven的安装与配置(windows)

手把手教你maven的安装与配置

  • 一、Maven 是什么
  • 二、Maven 的安装
    • 1. 下载
    • 2. 环境配置
  • 三、Maven 的配置文件
    • 1. 本地仓库
    • 2. 远程仓库
    • 3. 代理服务器
    • 4. 服务器认证
    • 5. 其他选项
    • 6. 配置示例
  • 四、对接IDEA


在这里插入图片描述

提起Maven,相信大家并不陌生,对于一些java开发者,可能除了JDK,第二个要学的内容就是Maven了。今天,我们就踏上Maven的学习之路,当然第一篇,依然还是手把手系列,从安装与配置开始。

作者简介:战斧,从事金融IT行业,有着多年一线开发、架构经验;爱好广泛,乐于分享,致力于创作更多高质量内容
本文收录于 Maven专栏 ,有需要者,可直接订阅专栏实时获取更新
高质量专栏 云原生、RabbitMQ、Spring全家桶、 GIT 等仍在更新,欢迎指导
Zookeeper Redis kafka docker netty等诸多框架,以及架构与分布式专题即将上线,敬请期待


一、Maven 是什么

Maven 是一个基于项目对象模型 (POM) 定义项目的构建工具。它可以帮助开发人员管理项目的依赖关系、构建、文档描述信息管理等。通过 Maven,开发人员可以很方便地构建、打包、发布和部署 Java 应用程序。Maven 能够自动从互联网上下载依赖库,并自动部署到本地仓库中。使用 Maven,开发人员无需手动去配置、管理项目的依赖关系,只需要在 POM 文件中声明依赖关系,Maven 就能自动帮助我们管理依赖

二、Maven 的安装

1. 下载

访问 Maven 的官网:https://maven.apache.org/download.cgi,进入下载页面。注意,下载的为二进制压缩文档。

需要注意的是。如果你使用了IDEA,并且想在IDEA中使用Maven,那么推荐根据IDEA的版本来决定使用的Maven版本,其对应关系如下

  • IDEA 2022 兼容maven 3.8.1及之前的所用版本
  • IDEA 2021 兼容maven 3.8.1及之前的所用版本
  • IDEA 2020 兼容Maven 3.6.3及之前所有版本
  • IDEA 2018 兼容Maven3.6.1及之前所有版本

当然,官网页面打不开的同学,笔者这边也给大家准备了3.9.4版本的包,点击链接即可: 3.9.4版本 。早先3.6.3版本的包也有:3.6.3版本

手把手教你maven的安装与配置(windows)_第1张图片

2. 环境配置

在我们将上述压缩包解压后,形成如下的目录

手把手教你maven的安装与配置(windows)_第2张图片
但是因为这次是压缩包解压,而没有贴心的安装程序,所以我们只能手动去设置一下环境变量了,环境变量的设置也是老套路了,右键”计算机“ 进入属性

手把手教你maven的安装与配置(windows)_第3张图片
按步骤找到环境变量设置选项,点进去
手把手教你maven的安装与配置(windows)_第4张图片

把Maven的bin路径设定到环境变量 Path

手把手教你maven的安装与配置(windows)_第5张图片

然后以mvn --version来查看,能正确输出版本号,就代表我们成功安装了Maven

手把手教你maven的安装与配置(windows)_第6张图片


三、Maven 的配置文件

Maven安装好后自带了一个配置文件 setting.xml ,用于配置Maven的全局选项、仓库等信息。而且,Maven的配置分为全局配置用户配置,全局配置就是Maven安装路径下的conf/setting.xml,用户配置是指在用户主目录下的.m2 文件夹内。所以需要注意,用户配置会覆盖全局配置,因此在进行用户配置时,要特别注意不要覆盖全局配置的设置

手把手教你maven的安装与配置(windows)_第7张图片
我们来分析下,这份配置文件的结构

1. 本地仓库

定义本地仓库的位置,Maven会将下载的依赖项文件保存在该位置。

<settings>
    <localRepository>C:\Users\username\.m2\repositorylocalRepository>
settings>

2. 远程仓库

定义用于查找依赖项的远程仓库,远程仓库可以是中央仓库私有仓库镜像仓库,这里我们做一点简单的解释

  • 中央仓库
    中央仓库是由 Maven 社区提供的仓库,我们可以说是官方仓库。包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息。中央仓库不需要进行额外的配置
  • 私有仓库
    开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件,一般由公司内部搭建。
  • 镜像仓库
    镜像仓库是指在Maven中心仓库之外,由第三方机构或个人自行搭建的仓库,一般情况是完全复制了中心仓库中的内容,并提供了更快的下载速度和更好的稳定性。
<settings>
    <mirrors>
  		
        <mirror>
            <id>aliyunmavenid>
            <mirrorOf>centralmirrorOf>
            <name>aliyun mavenname>
            <url>https://maven.aliyun.com/repository/publicurl>
        mirror>
    mirrors>
    
    
    <servers>
    	<server>
      		<id>my-repoid>
      		<username>your-usernameusername>
      		<password>your-passwordpassword>
    	server>
  	servers>
  	
  	
  	<profiles>
    	<profile>
      		<id>my-private-repoid>
		    <repositories>
		    	
        		<repository>
          			<id>my-repoid>
          			<url>http://my-repo-urlurl>.
          			
          			<releases><enabled>trueenabled>releases>
          			
          			<snapshots><enabled>falseenabled>snapshots>
		        repository>
      		repositories>
      		<pluginRepositories>
        		<pluginRepository>
          			<id>my-repoid>
          			<url>http://my-repo-urlurl>
        		pluginRepository>
      		pluginRepositories>
    	profile>
  profiles>
  	
  <activeProfiles>
  		
    	<activeProfile>my-private-repoactiveProfile>
  activeProfiles>
settings>

这里有几点需要说明下:

  1. 私有仓库建议配置在内,这样可以将其作为一个特定环境的配置,并且在使用时可以更加方便地调用。如果您需要在全局使用私有仓库,也可以将其配置在标签内。
  2. 如果同时配置中央仓库、镜像仓库和私有仓库,它们使用的优先级从高到底依次为私有仓库 - 镜像仓库 - 中央仓库,也就是说私有仓库是最优先的选择
  3. 标签用于指定要镜像的仓库ID,设置为 *,表示所有仓库都使用镜像,设置为central代表只有中央仓库使用该镜像。

3. 代理服务器

定义用于访问远程仓库的代理服务器,包括HTTP代理和HTTPS代理等。

<settings>
    <proxies>
        <proxy>
            <id>proxy1id>
            <active>trueactive>
            <protocol>httpprotocol>
            <host>proxy.example.comhost>
            <port>8080port>
            <username>userusername>
            <password>passwordpassword>
            <nonProxyHosts>*.example.comnonProxyHosts>
        proxy>
    proxies>
settings>

4. 服务器认证

定义访问需要认证的远程仓库的用户名和密码。

<settings>
    <servers>
        <server>
            <id>server1id>
            <username>usernameusername>
            <password>passwordpassword>
        server>
    servers>
settings>

5. 其他选项

除了上面的内容,还可以配置其他选项,如超时时间、调试级别等。

<settings>
    <configuration>
        <timeout>30000timeout>
        <logLevel>debuglogLevel>
    configuration>
settings>

默认情况下,Maven的logLevel是INFO级别。通过指定logLevel,可以控制Maven在执行构建时输出日志的详细程度,从而方便调试和排查错误

6. 配置示例

对于大部分同学来说,所用到的包基本都在中央仓库中,因此只需要针对中央仓库设置一个镜像即可,一般常用的就是阿里云镜像,那么整体的文件配置就如下:


<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <pluginGroups>
  pluginGroups>
  <proxies>
  proxies>
  <servers>
  servers>
 
 <localRepository>E:\mavenRepo\repositorylocalRepository>
 
 <mirrors>
    <mirror>
	 	 
      	 <id>alimavenid>
	  	 
	  	 <mirrorOf>centralmirrorOf> 
	  	 
      	 <name>aliyun mavenname>
	  	 
         <url>http://maven.aliyun.com/nexus/content/groups/public/url>
    mirror>
 mirrors>
  <profiles>
  profiles>
settings>

四、对接IDEA

当我们设置完Maven的相关配置,如果是使用Idea的同学,还需要在Idea中进行相关配置。我们设定完以后,就可以在IDEA中进行Maven的相关操作。

手把手教你maven的安装与配置(windows)_第8张图片

注意,此处我们勾选了 Override ,这将使得此处的Maven设置拥有最高优先级,一般保持这个和外层配置一致即可。

你可能感兴趣的:(Maven,maven,java,setting.xml,maven安装,maven仓库,maven配置)