沉梦听雨的编程指南 沉梦听雨的编程指南
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)

沉梦听雨

时间是最好的浸渍剂,而沉淀是最好的提纯器🚀
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)
  • 开发工具篇

    • idea相关

    • 玩转Git

    • Maven相关

      • Maven简介
        • 传统项目管理状态分析
        • Maven 是什么?
        • Maven 的作用?
        • 下载与安装
        • 目录结构
          • bin 目录
          • boot 目录
          • conf 目录
          • settings 常见配置项
          • Maven 环境变量配置
        • Maven 基础概念
          • 仓库
          • 仓库分类
          • 私服的作用
          • 坐标
          • 什么是坐标?
          • Mavne 坐标的主要组成
          • Maven 坐标的作用
      • Maven常用命令
      • 依赖管理
      • Maven生命周期与插件
      • Maven项目管理工具
    • 前端工具

    • 测试工具

  • 工具库篇

  • 开发技巧篇

  • 工具类系列

  • 随笔

  • 开发日常
  • 开发工具篇
  • Maven相关
沉梦听雨
2024-09-07
目录

Maven简介

# Maven 简介

# 传统项目管理状态分析

  • jar 包不统一, jar 包不兼容

  • 工程升级维护过程操作繁琐

# Maven 是什么?

Maven 本质是一个项目管理工具,将项目开发和管理过程抽象成一个对象模型 (POM);

POM(Project Object Model):项目对象模型

# Maven 的作用?

  1. 项目构建:提供标准的,跨平台的自动化项目构建方式
  2. 依赖管理:方便快捷的管理项目的资源(Jar 包),避免资源间的版本冲突问题
  3. 统一开发结构:提供标准的,统一的项目结构

# 下载与安装

  • 官网:https://maven.apache.org/ (opens new window)

  • 下载地址:https://maven.apache.org/download.cgi (opens new window)

# 目录结构

# bin 目录

Mavne 中所有的可运行指令,也称脚本目录。

# boot 目录

一些启动项,里面主要就是 Maven 的类加载器。

# conf 目录

里面主要就是 Maven 的配置文件和日志文件. 其中最主要的配置文件就是 settings.xml.

# settings 常见配置项

  1. localRepository:指定本地仓库的路径。本地仓库是 Maven 用来存储项目依赖的地方。默认情况下,本地仓库位于用户主目录下的 .m2 文件夹中。

  2. mirrors:用于配置镜像仓库。镜像仓库是指在下载依赖时,从镜像仓库获取而不是从中央仓库获取。可以配置多个镜像仓库,每个镜像仓库包含 id、url 和 mirrorOf 等属性。

  3. proxies:用于配置代理服务器。如果你在使用 Maven 时需要通过代理服务器访问外部资源,可以在这里配置代理服务器的相关信息,如主机名、端口号、用户名和密码等。

  4. servers:用于配置服务器凭据。如果你需要访问需要身份验证的远程仓库或者发布到远程仓库,可以在这里配置服务器的凭据,如 id、用户名和密码等。

  5. profiles:用于配置 Maven 的配置文件激活条件。可以根据不同的环境或需求,定义不同的 profile,并在这里配置 profile 的激活条件,如激活的操作系统、Java 版本等。

  6. pluginGroups:用于配置插件组。插件组是一组相关的插件,可以在 pom.xml 文件中直接使用其插件 ID 而无需指定插件的完整坐标。

# Maven 环境变量配置

  • 依赖 Java, 需要配置 JAVA_HOME

  • 设置 Maven 自身的运行环境, 需要配置 MAVEN_HOME

# Maven 基础概念

# 仓库

用于存储资源, 包含各种 jar 包.

# 仓库分类

  1. 本地仓库:自己电脑上存储资源的仓库, 连接远程仓库获取资源。
  2. 远程仓库:非本机电脑上的仓库, 为本地仓库提供资源。
  3. 中央仓库:Maven 团队维护, 存储所有资源的仓库。
  4. 私服仓库:部门 / 公司范围内存储的仓库, 从中央仓库获取资源。

# 私服的作用

  • 保存具有版权的资源, 包含购买或者自主研发的 jar

  • 中央仓库中的 jar 都是开源的, 不能存出具有版权的资源

  • 一定范围内共享资源, 仅对内部开发, 不对外共享

# 坐标

# 什么是坐标?

Maven 中的坐标用于描述仓库中资源的位置

# Mavne 坐标的主要组成

  • groupId(组织 id):定义当前 Maven 项目隶属于组织的名称(通常域名反写)
  • artifactId(项目 id):定义当前 Maven 项目名称(通常是模块名称)
  • version(版本号):定义当前项目的版本号
  • packaging:定义该项目的打包方式

# Maven 坐标的作用

使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成

上次更新: 2024/9/25 11:16:13
常见问题
Maven常用命令

← 常见问题 Maven常用命令→

Theme by Vdoing | Copyright © 2023-2025 沉梦听雨 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式