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

文章目录

一、为什么使用maven

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

二、maven是什么?

  • 概念
    • 简单的说maven就是一个项目管理工具,包含了一个项目对象模型(Project Object Model),在项目中就是一个xml[pom.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
      • 本地仓库地址
        • 把自己的本地仓库文件夹路径放上即可。
相关推荐
⑩-13 分钟前
RabbitMQ 架构和工作原理?RabbitMQ 延迟队列如何实现?
java·分布式·架构·rabbitmq
子非鱼@Itfuture15 分钟前
try-catch和try-with-resources区别是什么?try{}catch(){}和try(){}catch(){}有什么好处?
java·开发语言
Nyarlathotep011336 分钟前
线程创建和Thread类
java
阿波罗尼亚41 分钟前
JDK17 新特性
java
独自破碎E41 分钟前
【面试真题拆解】Spring事务机制
java·spring·面试
@大迁世界41 分钟前
液态玻璃屏正在侵蚀你的电池
macos·ios·objective-c·cocoa
我是咸鱼不闲呀43 分钟前
力扣Hot100系列21(Java)——[多维动态规划]总结(不同路径,最小路径和,最长回文子串,最长公共子序列, 编辑距离)
java·leetcode·动态规划
lihao lihao1 小时前
二分查找
java·数据结构·算法
Albert Edison1 小时前
【C++11】可变参数模板
java·开发语言·c++
代码栈上的思考1 小时前
消息队列持久化:文件存储设计与实现全解析
java·前端·算法