Maven —— 项目管理及自动构建工具

001 || maven是什么

  Maven 是一个由Apache软件基金会提供的项目管理及自动构建工具,主要用于Java编程。它基于项目对象模型(POM)的概念,通过中央信息片段来管理项目的构建、报告和文档等步骤。Maven的核心功能包括合理叙述项目间的依赖关系,通过pom.xml文件的配置获取jar包,无需手动添加jar包。Maven的依赖管理系统允许工程中不直接将jar包导入工程中,而是通过在pom.xml文件中添加所需jar包的坐标来管理jar包的过程。此外,Maven还提供了清晰的项目结构、多工程开发支持以及一键构建项目的功能,支持跨平台使用(Windows、Linux、Mac等),并由纯java语言开发。

002 || maven安装部署

Maven官网:https://maven.apache.org/download.cgi

Maven官网提供了.tar.gz以及.zip的安装包,用于不同的操作系统。另外还有对应的源码包、校验码、签名等文件。可按需下载。

(1)将安装包下载到本地,解压到合适的目录(我的是D:\Environment\apache-maven-3.8.7

(2)配置maven的系统环境变量MAVEN_HOME:D:\Environment\apache-maven-3.8.7

(3)配置系统环境变量Path:%MAVEN_HOME%\bin

(4)测试安装是否成功:mvn -version

(5)修改settings文件(文件位置:%MAVEN_HOME%\conf),配置本地仓库:D:\Environment\mvnrepo

Maven的本地仓库,在安装Maven后不会创建,在第一次执行maven命令的时候才被创建。运行Maven的时候,Maven所需要的任何构建都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件到本地仓库,然后再使用本地仓库的构件。默认情况下,本地仓库位置在C:\Users\[用户名]\.m2\repository

<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">
<localRepository>D:\Environment\mvnrepo</localRepository>
</settings>

003 || maven pom的概念

  POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。pom中可以指定以下配置

  • 项目依赖
  • 插件
  • 执行目标
  • 项目构建profile
  • 项目版本
  • 项目开发者列表
  • 相关邮件列表信息

(1)

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<spring.version>5.2.2.RELEASE</spring.version>
<slf4j.version>1.6.6</slf4j.version>
<log4j.version>1.2.12</log4j.version>
<mysql.version>8.0.11</mysql.version>
<mybatis.version>3.4.5</mybatis.version>
<jackson.version>2.15.4</jackson.version>
</properties>

(2)项目依赖

<dependencies>
<dependency>
<!-- 依赖的groupId -->
<groupId>org.springframework</groupId>
<!-- 依赖的artifactId -->
<artifactId>spring-aop</artifactId>
<!-- 依赖的版本号 -->
<version>${spring.version}</version>
</dependency>
...
</dependencies>

— 业精于勤荒于嬉,行成于思毁于随 —

maven - [01] 概述的更多相关文章

  1. kafka详解(01) - 概述

    kafka详解(01) - 概述 定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域. 消息队列 MQ传统应用场景之异步处理 使用消 ...

  2. Zookeeper详解(01) -概述

    Zookeeper详解(01) -概述 概念 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分 ...

  3. 01 - 概述 VTK 6.0 迁移

    摘要 对vtk版本4和5的管道机制重新架架构的主要目的是:迁移数据对象和算法对象中的管道执行逻辑到一个新集合的类中,我们称这个集合类叫executives.分离数据和执行模型的代码后,可以双双简化修改 ...

  4. Maven仓库概述

    什么是Maven仓库 在Maven世界中,任何一个依赖.插件或项目构建的输出,都可以称为构建.由于Maven引入了坐标机制,任何一个构建都可以由其坐标唯一标识.坐标是一个构建在Maven世界中的逻辑表 ...

  5. Redis数据库 01概述| 五大数据类型

    1.NoSQL数据库简介 解决应用服务器的CPU和内存压力:解决数据库服务的IO压力: ----->>> ① session存在缓存数据库(完全在内存里),速度快且数据结构简单: 打 ...

  6. Hive 01 概述、安装配置

    概述 数据仓库:是一个面向主题的.集成的.不可更新的.随时间不变化的数据集合,它用于支持企业或组织的决策分析处理. 数据仓库的结构和建立过程: 数据源 数据存储及管理 ETL Extract 提取 T ...

  7. Maven的概述和基础(学习整理)

    1. Maven是啥 Maven是一个项目管理工具,包含了一个项目对象模型(POM),一组标准集合,一个项目生命周期(Lifecycle),一个依赖管理系统,和用来运行定义在生命周期阶段中的插件目标的 ...

  8. 【OracleDB】 01 概述和基本操作

    实例概念: Oracle有一个特殊的概念 Oracle数据库 = 数据库 + Oracle文件系统 + Oracle实例 实例处理Oracle的请求,调用文件系统 然后返回结果响应给客户端 单实例和多 ...

  9. SpringBoot 01 概述

    官方文档 https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/ 简介 SpringBoot 是一个 JavaWeb ...

  10. 【大数据面试】Flink 01 概述:包含内容、层次架构、运行组件、部署模式、任务提交流程、任务调度概念、编程模型组成

    一.概述 1.介绍 对无界和有界数据流进行有状态计算的分布式引擎和框架,并可以使用高层API编写分布式任务,主要包括: DataSet API(批处理):静态数据抽象为分布式数据集,方便使用操作符进行 ...

随机推荐

  1. 服务迁移之《mysql数据同步问题》

    我们大概是从2022年十月份开始进行拆分的.面对一百多个服务的时候,真的是无从下手,然后公司突然空降了一个从阿里出来的架构师,然后就带着我们大刀阔斧的整体迁移. 先是服务器购买阿里云的,然后从几个核心 ...

  2. 使用 Web Compiler 2022+

    使用 Web Compiler 2022+ Web Compiler 2022+ for Visual Studio 2022 Web Compiler for Visual Studio 2019 ...

  3. 在 MySQL 创造类似 PipelineDB 的流视图(continuous view)

    公司的系统采用的是 Google Cloud SQL 提供的 MySQL 数据库,由于历史原因,数据库成本极高,需要对它进行优化缩减成本. 相比 PostgresSQL,MySQL 主要缺少以下特性, ...

  4. Qt4/5升级到Qt6吐血经验总结V202308

    00:直观总结 增加了很多轮子,同时原有模块拆分的也更细致,估计为了方便拓展个管理. 把一些过度封装的东西移除了(比如同样的功能有多个函数),保证了只有一个函数执行该功能. 把一些Qt5中兼容Qt4的 ...

  5. Qt编写安防视频监控系统23-图片地图

    一.前言 图片地图这个模块是后面新增加进去的,主要是安防领域还有很多应用场景是一个区域比如就一个学校,提供一个学校的平面图或者鸟瞰图,然后在该地图上放置对应的摄像机,双击该摄像机图标可以查看对应的实时 ...

  6. Qt项目架构经验总结

    (一)通用规则 除了极小的微型demo级别项目外,其余项目建议用pri分门别类不同文件夹存放代码文件,方便统一管理和查找. 同类型功能的类建议统一放在一起,如果该目录下代码文件数量过多,也建议拆分多个 ...

  7. elementPlus 问题总结

    第一次搞,遇上很多弱智问题,记录一下 安装elementPlus $ npm install element-plus --save 全局引入 import ElementPlus from 'ele ...

  8. 揭秘vivo百亿级厂商消息推送平台的高可用技术实践

    本文由vivo 互联网服务器团队Yu Quan分享,本文收录时有内容修订和重新排版. 1.引言 如今,Android端的即时通讯IM这类应用想实现离线消息推送,难度越来越大(详见<Android ...

  9. UML之发现用例

    用例是最简单的UML元素,用例图是最简单的UML图,但它也可能是UML中最有用的元素之一.尽管我们用包将工作分解为工作包.团队任务或单项任务,也就是说包是组织UML中的各种图及元素的工具.但是用例图可 ...

  10. React基础笔记2

    一.生命周期函数 挂载卸载过程 constructor        props context componentWillMount  服务器与客户端 componentDidMount  ajax ...