【Maven】pom.xml 超全面详解(核心结构+所有常用依赖)

简介: 本文详解Maven核心配置文件pom.xml的七大结构(坐标、属性、依赖、构建等),并分类梳理Web、数据库、工具、测试、日志、JSON等场景下最常用依赖的功能与用法,助开发者高效管理项目依赖与构建流程。

前言

Maven——pom.xml 核心结构与常用依赖详解

一、概念

pom.xml(Project Object Model)是Maven项目的核心配置文件,通过XML结构描述项目的依赖、构建、继承等信息。

以下是核心组成部分:

1. 项目基本坐标

modelVersion:POM模型版本,固定为4.0.0(Maven 2/3通用)。
groupId:组织标识(如com.example),对应项目包结构。
artifactId:项目标识(如demo),对应项目名称。
version:版本号(如1.0.0-SNAPSHOT),SNAPSHOT表示开发版。
packaging:打包方式(jar/war/pom等,默认jar)。
name/description:项目名称和描述(可选)。

2. 属性配置(properties)

● 定义全局变量(如依赖版本号),通过${xxx}引用,方便统一管理。
● 示例:17

3. 依赖声明(dependencies)

● 核心部分,声明项目所需依赖,包含:
groupId/artifactId/version:依赖坐标。
scope:依赖作用域(compile/test/provided/runtime/system)。
exclusions:排除传递性依赖(解决冲突)。

4. 依赖管理(dependencyManagement)

● 统一管理依赖版本(不实际引入),子项目可继承,避免版本冲突。
● 常用于父POM,定义版本后,子POM声明依赖时无需写version。

5. 构建配置(build)

plugins:配置构建插件(如maven-compiler-plugin、spring-boot-maven-plugin)。
resources:指定资源文件目录(如src/main/resources)。
finalName:打包后的文件名(可选)。

6. 继承与聚合

parent:指定父POM(继承依赖、插件配置),如Spring Boot项目继承spring-boot-starter-parent。
modules:多模块项目中声明子模块(聚合构建)。

7. 仓库配置(repositories/pluginRepositories)

● 指定依赖/插件的下载仓库(如Maven中央仓库、阿里云镜像)。


二、常用依赖及功能

以下按场景分类,整理Maven项目中最常用的依赖及其功能:

1. Web开发

spring-boot-starter-web(org.springframework.boot)
○ 功能:Spring Boot Web开发核心依赖,包含Spring MVC、Tomcat容器、Jackson JSON处理等。
spring-boot-starter-webflux(org.springframework.boot)
○ 功能:响应式Web开发依赖,基于Netty,支持非阻塞I/O。

2. 数据库与持久层

mysql-connector-j(com.mysql)
○ 功能:MySQL JDBC驱动,用于连接MySQL数据库。
mybatis-spring-boot-starter(org.mybatis.spring.boot)
○ 功能:MyBatis整合Spring Boot,简化SQL映射、数据库操作。
spring-boot-starter-data-jpa(org.springframework.boot)
○ 功能:Spring Data JPA支持,基于Hibernate,简化ORM操作。
druid-spring-boot-starter(com.alibaba)
○ 功能:阿里巴巴Druid数据库连接池,提供监控、SQL优化等功能。

3. 工具类库

lombok(org.projectlombok)
○ 功能:通过注解(如@Data、@Slf4j、@Builder)简化Java代码,消除样板代码。
hutool-all(cn.hutool)
○ 功能:国产Java工具库,涵盖字符串、集合、日期、加密等通用功能。
guava(com.google.guava)
○ 功能:Google工具库,提供增强集合、缓存、并发工具等。
commons-lang3(org.apache.commons)
○ 功能:Apache Commons Lang,补充JDK字符串、数字、对象等工具类。

4. 测试框架

spring-boot-starter-test(org.springframework.boot
○ 功能:Spring Boot测试依赖,包含JUnit 5、Mockito、AssertJ等测试工具。
junit-jupiter(org.junit.jupiter)
○ 功能:JUnit 5测试框架核心,用于编写单元测试。
mockito-core(org.mockito)
○ 功能:Mock框架,用于模拟依赖对象,隔离测试。

5. 日志框架

slf4j-api(org.slf4j)
○ 功能:日志门面,统一日志接口,配合Logback/Log4j2使用。
logback-classic(ch.qos.logback)
○ 功能:Logback日志实现(Spring Boot默认),性能优于Log4j。
log4j2-spring-boot-starter(org.springframework.boot)
○ 功能:Log4j2日志实现,支持异步日志,适合高并发场景。

6. JSON处理

jackson-databind(com.fasterxml.jackson.core)
○ 功能:Jackson JSON库(Spring Boot默认),用于JSON序列化/反序列化。
gson(com.google.code.gson)
○ 功能:Google Gson库,简洁的JSON处理工具。

7. 其他常用

spring-boot-starter-aop(org.springframework.boot)
○ 功能:Spring AOP支持,用于面向切面编程(如日志、事务)。
spring-boot-starter-cache(org.springframework.boot)
○ 功能:Spring Cache抽象,支持Redis、Caffeine等缓存实现。
validation-api(javax.validation)+ hibernate-validator(org.hibernate.validator)
○ 功能:参数校验,如@NotNull、@Size等注解。

相关文章
|
13天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
19703 108
|
5天前
|
人工智能 安全 Linux
【OpenClaw保姆级图文教程】阿里云/本地部署集成模型Ollama/Qwen3.5/百炼 API 步骤流程及避坑指南
2026年,AI代理工具的部署逻辑已从“单一云端依赖”转向“云端+本地双轨模式”。OpenClaw(曾用名Clawdbot)作为开源AI代理框架,既支持对接阿里云百炼等云端免费API,也能通过Ollama部署本地大模型,完美解决两类核心需求:一是担心云端API泄露核心数据的隐私安全诉求;二是频繁调用导致token消耗过高的成本控制需求。
4146 7
|
7天前
|
人工智能 安全 API
OpenClaw“小龙虾”进阶保姆级攻略!阿里云/本地部署+百炼API配置+4种Skills安装方法
很多用户成功部署OpenClaw(昵称“小龙虾”)后,都会陷入“看似能用却不好用”的困境——默认状态下的OpenClaw更像一个聊天机器人,缺乏连接外部工具、执行实际任务的能力。而Skills(技能插件)作为OpenClaw的“动手能力核心”,正是打破这一局限的关键:装对Skills,它能帮你自动化处理流程、检索全网资源、管理平台账号,真正变身“能做事的AI管家”。
5021 7
|
9天前
|
人工智能 安全 前端开发
Team 版 OpenClaw:HiClaw 开源,5 分钟完成本地安装
HiClaw 基于 OpenClaw、Higress AI Gateway、Element IM 客户端+Tuwunel IM 服务器(均基于 Matrix 实时通信协议)、MinIO 共享文件系统打造。
7658 5
|
8天前
|
人工智能 API 网络安全
Mac mini × OpenClaw 保姆级配置教程(附阿里云/本地部署OpenClaw配置百炼API图文指南)
Mac mini凭借小巧机身、低功耗和稳定性能,成为OpenClaw(原Clawdbot)本地部署的首选设备——既能作为家用AI节点实现7×24小时运行,又能通过本地存储保障数据隐私,搭配阿里云部署方案,可灵活满足“长期值守”与“隐私优先”的双重需求。对新手而言,无需复杂命令行操作,无需专业技术储备,按本文步骤复制粘贴代码,即可完成OpenClaw的全流程配置,同时接入阿里云百炼API,解锁更强的AI任务执行能力。
6289 2
|
17天前
|
人工智能 自然语言处理 JavaScript
2026年Windows+Ollama本地部署OpenClaw保姆级教程:本地AI Agent+阿里云上快速搭建
2026年OpenClaw凭借本地部署、私有化运行的特性,成为打造个人智能体的核心工具,而Ollama作为轻量级本地大模型管理工具,能让OpenClaw摆脱对云端大模型的依赖,实现**本地推理、数据不泄露、全流程私有化**的智能体验。本文基于Windows 11系统,从硬件环境准备、Ollama安装与模型定制、OpenClaw部署配置、技能扩展到常见问题排查,打造保姆级本地部署教程,同时补充阿里云OpenClaw(Clawdbot)快速部署步骤,兼顾本地私有化需求与云端7×24小时运行需求,文中所有代码命令均可直接复制执行,确保零基础用户也能快速搭建属于自己的本地智能体。
18938 116
|
11天前
|
人工智能 JSON API
保姆级教程:OpenClaw阿里云及本地部署+模型切换流程+GLM5.0/Seedance2.0/MiniMax M2.5接入指南
2026年,GLM5.0、Seedance2.0、MiniMax M2.5等旗舰大模型相继发布,凭借出色的性能与极具竞争力的成本优势,成为AI工具的热门选择。OpenClaw作为灵活的AI Agent平台,支持无缝接入这些主流模型,通过简单配置即可实现“永久切换、快速切换、主备切换”三种模式,让不同场景下的任务执行更高效、更稳定。
6939 4
|
11天前
|
人工智能 JavaScript API
保姆级教程:OpenClaw阿里云/本地部署配置Tavily Search skill 实时联网,让OpenClaw“睁眼看世界”
默认状态下的OpenClaw如同“闭门造车”的隐士,仅能依赖模型训练数据回答问题,无法获取实时新闻、最新数据或训练截止日期后的新信息。2026年,激活其联网能力的最优方案是配置Tavily Search技能——无需科学上网、无需信用卡验证,每月1000次免费搜索额度完全满足个人需求,搭配ClawHub技能市场,还能一键拓展天气查询、邮件管理等实用功能。
6934 5

热门文章

最新文章