maven - [01] 概述
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>
— 业精于勤荒于嬉,行成于思毁于随 —
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南