泪伤荡的编程指南 泪伤荡的编程指南
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM篇
  • 新特性
  • 进阶篇
  • 网络
  • 操作系统
  • 数据结构与算法
  • 硬件
  • 基础篇
  • MySql
  • Oracle
  • PostgreSQL
  • 达梦
  • Redis
  • Mongodb
  • Hive
  • 数据库比较
  • Spring
  • SpringMvc
  • SpringBoot
  • Hibernate
  • iBatis
  • Mybatis
  • Mybatis-plus
  • Mybatis-plus-join
  • 各个框架对比
  • UML画图
  • 设计须知
  • 开发流程
  • 开发理论
  • 架构体系
  • 设计模式
  • 开源知识
  • 分布式解决方案
  • SpringCloud
  • API网关
  • 注册中心
  • 配置中心
  • 服务调用
  • 分布式事务
  • 消息队列
  • 调度作业
  • 链路追踪
  • 服务保障
  • 搜索引擎Elk
  • 安全框架
  • 监控体系
  • 部署容器
  • Netty
  • Tomcat
  • Nginx
  • 图片云存储
  • 云存储
  • 虚拟机Linux
  • 项目部署
  • 容器部署
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • Bug记录仓库
  • 随笔
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 视频网站
  • 音乐网站
  • 商城网站
  • 论坛网站
  • scrm项目
  • Yudao-cloud
  • RuoYi-Vu-cloud
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
  • Java术语
  • 命名英语
  • 业务英语
  • 表字段英语
  • 包名英语
Github (opens new window)
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM篇
  • 新特性
  • 进阶篇
  • 网络
  • 操作系统
  • 数据结构与算法
  • 硬件
  • 基础篇
  • MySql
  • Oracle
  • PostgreSQL
  • 达梦
  • Redis
  • Mongodb
  • Hive
  • 数据库比较
  • Spring
  • SpringMvc
  • SpringBoot
  • Hibernate
  • iBatis
  • Mybatis
  • Mybatis-plus
  • Mybatis-plus-join
  • 各个框架对比
  • UML画图
  • 设计须知
  • 开发流程
  • 开发理论
  • 架构体系
  • 设计模式
  • 开源知识
  • 分布式解决方案
  • SpringCloud
  • API网关
  • 注册中心
  • 配置中心
  • 服务调用
  • 分布式事务
  • 消息队列
  • 调度作业
  • 链路追踪
  • 服务保障
  • 搜索引擎Elk
  • 安全框架
  • 监控体系
  • 部署容器
  • Netty
  • Tomcat
  • Nginx
  • 图片云存储
  • 云存储
  • 虚拟机Linux
  • 项目部署
  • 容器部署
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • Bug记录仓库
  • 随笔
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 视频网站
  • 音乐网站
  • 商城网站
  • 论坛网站
  • scrm项目
  • Yudao-cloud
  • RuoYi-Vu-cloud
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
  • Java术语
  • 命名英语
  • 业务英语
  • 表字段英语
  • 包名英语
Github (opens new window)
  • 开发工具篇

    • idea设置

      • 配置篇
      • 快捷键篇
      • debug篇
      • 插件篇
    • 玩转Git

      • 基础知识梳理
      • Git配置相关操作
      • git修改已提交人的用户名和邮箱
      • git提交规范
      • 常见问题
    • Maven相关

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

    • lombok工具库

      • lombok注解使用小结
      • Builder用法解析
      • 异常相关注解
    • EasyExcel小记

      • 工具类
      • 文件导入
      • 文件导出
    • 定时任务相关

      • 基础入门
      • SpringTask学习
      • Quartz学习
    • Hutool工具库

      • 图片压缩
    • 极光推送学习
    • OkHttp学习
    • BigDecimal类详解
    • PdfBox学习
  • 开发技巧篇

    • 常见数据校验注解
    • 字符串拼接的5种方式
    • 遍历集合的N种方式
    • 集合使用注意事项总结
    • MP使用小记
    • Stream流技巧总结
    • 字符串处理最佳实践
    • SQL语句优化
    • 时间字段处理小记
    • Curl用法解析
    • 列表分页的两种实现方案
    • HashMap根据value获取key
    • Map的7种遍历方式
    • 唯一索引和逻辑删除冲突解决方法
    • 正则表达式
    • 二维码扫码登录学习
    • 脱敏最佳实践
    • 日志记录相关
  • 工具类系列

    • 手写一个文件阅读器
    • 手写一个运行耗时计算器
    • 自定义实现Java Bean属性中列表元素格式校验注解及其实现
    • 父子工程项目搭建
    • 自制代码生成器
  • 随笔

    • HttpServletRequest知识小结
    • Spring MVC 项目构建流程
    • 虚拟机固定ip地址
    • 项目部署
    • 深入理解数组
    • IIS使用小记
    • From的两种类型解析
    • 开发疑惑
    • 开发小记
    • bug解决
  • 开发日常
  • 开发工具篇
  • 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/10/26 02:01:17
常见问题
Maven常用命令

← 常见问题 Maven常用命令→

Theme by Vdoing | Copyright © 2024-2025 泪伤荡 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式