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. 鸿蒙(HarmonyOS)原生AI能力之文本识别

    鸿蒙(HarmonyOS)原生AI能力之文本识别 原生智能介绍 在之前开发中,很多场景我们是通过调用云端的智能能力进行开发.例如文本识别.人脸识别等. 原生即指将一些能力直接集成在本地鸿蒙系统中,通过 ...

  2. 【Vue】学习笔记:Vue组件

    文末有我看的这个视频的链接. 目录 组件注册 全局注册 组件基础 组件命名规则 template选项 单项数据流 data选项 局部注册 单独配置组件的选项对象 ES6对象属性简写 组件通信 父组件向 ...

  3. Hutool excel导出

    easyExcel 文档不是很友好,所以转用hutool 工具导出excel,百度到的很多都没多少营养,略作总结,望君不吝赐教.该篇博客可以让你画出不是太复杂的excel 如:   image.png ...

  4. macOS 终端可用的 Hex 查看与编辑器

    在 Windows 下我们可以使用 WinHex,而在 macOS 平台上,有什么不错的十六进制查看器.编辑器呢? 准备首先,我们创建一个文件用于测试. echo 'welcome' > fil ...

  5. Java保留两位小数的几种写法总结

    转载 本文列举了几个方法: 1. 使用java.math.BigDecimal 2. 使用java.text.DecimalFormat 3. 使用java.text.NumberFormat 4. ...

  6. Python__FLASK__MySQL基础

    1.数据库的基本操作 创建数据库:使用"CREATE DATABASE 数据库名:"语句创建新的数据库 查看数据库:使用"SHOW DATABASES:"语句查 ...

  7. Qt开发经验小技巧196-200

    关于Qt延时的几种方法. void QUIHelperCore::sleep(int msec) { if (msec <= 0) { return; } #if 1 //非阻塞方式延时,现在很 ...

  8. Qt编写安防视频监控系统54-轮询配置

    一.前言 视频监控系统中少不了用到视频轮询,按照设计的基本原则,先满足基本的用户需求,稳定跑起来,再去折腾更复杂的应用场景,于是本系统也做了个基本的视频轮询功能,可以设置轮询方案,给某个轮询方案设置轮 ...

  9. 大端地址 小端地址 网络字节序 intel主机字节序

    小端字节序:低字节数据存放在内存低地址处,高字节数据存放在内存高地址处:大端字节序:高字节数据存放在内存低地址处,低字节数据存放在内存高地址处. 网络字节序: MSB 高字节前存法 Most Sign ...

  10. Python 元类(Meta Class):解密 Python 面向对象编程的幕后推手

    在 Python 编程中,我们每天都在和类打交道,但是你是否也和我一样想过:类本身是什么?是谁创建了类?元类(Meta Class)就是用来创建类的"类".今天让我们一起深入理解这 ...