maven的概述以及在mac安装配置

文章目录

一、为什么使用maven

  • 由于java的生态环境非常的丰富,无论想实现什么样的功能,都能找到相应的工具类,这些工具类都是以jar包的形式出现,例如:Spring、SpringMVC、SpingClood、MyBatis、数据库驱动等等,都是以jar包的形式出现的,jar包之间的关联,在使用一个依赖之前,还需要确定这个依赖的依赖是否其他的依赖,所以项目比较大的时候,依赖管理会变的非常的臃肿,这时候maven就能解决这个问题。

二、maven是什么?

  • 概念
    • 简单的说maven就是一个项目管理工具,包含了一个项目对象模型(Project Object Model),在项目中就是一个xmlpom.xml文件。
  • maven的两大核心
    • 依赖管理
      • 对jar包的统一管理(maven提供了一个中央仓库,会自动的到中央仓库下载相应的依赖jar包)
    • 项目构建
      • 对项目进行编译、测试、打包、部署、上传到私服等。
  • 下载依赖的流程
    • 如图:

三、mac maven 安装与idea配置

  • 安装

    复制代码
      brew install maven
      # 使用brew命令安装会直接将环境变量也配置了
      # 查看环境变量
      env
      # 删除环境变量
      unset [环境变量名称]
      # 验证maven是否安装成功
      mvn -v 
    • 安装后配置
      • maven安装路径
        • 路径

          • /opt/homebrew/Cellar/maven/3.9.9/libexec
        • 更改settings.xml

          复制代码
           # 设置本地仓库路径
           vim settings.xml
           #找到 localRepository 标签
           <localRepository>仓库路径</localRepository>
           # 设置私服地址
               <mirror>
                    <!--This sends everything else to /public -->
                    <id>nexus</id>
                    <mirrorOf>*</mirrorOf> 
                    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                  </mirror>
                  <mirror>
                    <!--This is used to direct the public snapshots repo in the 
                        profile below over to a different nexus group -->
                    <id>nexus-public-snapshots</id>
                    <mirrorOf>public-snapshots</mirrorOf> 
                    <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
                  </mirror> 
              </mirrors>
  • idea配置

    • 点击 maven设置
      • Maven 主路径
        • /opt/homebrew/Cellar/maven/3.9.9/libexec
      • 用户设置文件
        • /opt/homebrew/Cellar/maven/3.9.9/libexec/conf/settings.xml
      • 本地仓库地址
        • 把自己的本地仓库文件夹路径放上即可。
相关推荐
yaoxin5211233 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
何极光4 小时前
IDEA集成Maven
java·maven·intellij-idea
程序员二叉4 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉4 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
老马识途2.04 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
青山木4 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
Qt程序员5 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
code bean5 小时前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务
大白菜和MySQL5 小时前
java应用排查高线程
java·python
KobeSacre5 小时前
ReentrantLock源码
java