涨薪技术|项目构建工具Maven使用教程

发布时间:2026/9/29 8:07:27

涨薪技术|项目构建工具Maven使用教程
01认识Maven如今我们构建一个项目需要用到很多第三方的类库如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌并且Jar包之间的关系错综复杂一个Jar包往往又会引用其他Jar包缺少任何一个Jar包都会导致项目编译失败。以往开发项目时程序员往往需要花较多的精力在引用Jar包搭建项目环境上而这一项工作尤为艰难少一个Jar包、多一个Jar包往往会报一些让人摸不着头脑的异常。而Maven就是一款帮助程序员构建项目的工具我们只需要告诉Maven需要哪些Jar 包它会帮助我们下载所有的Jar极大提升开发效率。02Maven安装配置一、安装1. 访问URLhttps://maven.apache.org/download.cgi 2. 点击左侧导航的Download链接选择apache-maven- 3.6.3-bin.zip下载3. 将apache-maven-3.6.3-bin.zip解压缩到任意目录 比如 D:\Programs\autoFrame\apache-maven-3.6.3 4. 配置环境变量 MAVEN_HOMED:\Programs\autoFrame\apache-maven-3.6.3 path%MAVEN_HOME%\bin;%path% 5. 验证maven是否安装成功 按winR 运行cmd 输入 mvn -version如下所示则配置成功C:\Users\Foreknewmvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: D:\Programs\autoFrame\apache-maven- 3.6.3\bin\.. Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_212\jre Default locale: zh_CN, platform encoding: GBK OS name: windows 10, version: 10.0, arch: amd64, family: windows二、配置settings文件1. 在D:\Programs\autoFrame\apache-maven-3.6.3\conf下 可以找到settings文件打开; 2. 找到第52行这里是maven默认的仓库:3. 我们复制第53行 localRepository/path/to/local/repo/localRepositor y 将它拿到注释外并将中间的内容改成你需要的路径如图 localRepositoryD:/mvn/repository/localRepository 这里的路径随便设置注意这里是正斜杠。 4. 配置下载服务器 因为国外的服务器下载jar包很慢所以我们改为阿里云服务器 在mirrors/mirrors中加入 !-- 阿里云仓库 -- mirror idalimaven/id mirrorOfcentral/mirrorOf namealiyun maven/name urlhttp://maven.aliyun.com/nexus/content/reposito ries/central//url /mirror 5. 配置JDK 在profile/profile中加入 idjdk-1.8/id activation activeByDefaulttrue/activeByDefault jdk1.8/jdk /activation properties maven.compiler.source1.8/maven.compiler.source maven.compiler.target1.8/maven.compiler.target maven.compiler.compilerVersion1.8/maven.compiler. compilerVersion /properties 6. 配置完成在命令行输入mvn help:system测试看到下载链接里面是ailiyun的链接表示配置成功03Maven基本用法1Maven POMPOM( Project Object Model项目对象模型 ) 是 Maven 工程的基本工作单元是一个XML文件包含了项目的基本信息用于描述项目如何构建声明项目依赖等等。执行任务或目标时Maven 会在当前目录中查找 POM。它读取POM获取所需的配置信息然后执行目标。POM 中可以指定以下配置项目依赖插件执行目标项目构建 profile项目版本项目开发者列表相关邮件列表信息在创建 POM 之前我们首先需要描述项目组 (groupId), 项目的唯一ID。​​​​​​​project xmlns http://maven.apache.org/POM/4.0.0 xmlns:xsi http://www.w3.org/2001/XMLSchemainstance xsi:schemaLocation http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd !-- 模型版本 -- modelVersion4.0.0/modelVersion !-- 公司或者组织的唯一标志并且配置时生成的路径也是由此 生成 如com.companyname.project-groupmaven会将该项目 打成的jar包放本地路径/com/companyname/project-group - - groupIdcom.companyname.project-group/groupId !-- 项目的唯一ID一个groupId下面可能多个项目就是靠 artifactId来区分的 -- artifactIdproject/artifactId !-- 版本号 -- version1.0/version /project所有 POM 文件都需要 project 元素和三个必需字段groupIdartifactIdversion。2Maven 构建生命周期Maven 构建生命周期定义了一个项目构建跟发布的过程。一个典型的 Maven 构建build生命周期是由以下几个阶段的序列组成的为了完成 default 生命周期这些阶段包括其他未在上面罗列的生命周期阶段将被按顺序地执行。Maven 有以下三个标准的生命周期clean项目清理的处理default(或 build)项目部署的处理site项目站点文档创建的处理3Maven 仓库在 Maven 的术语中仓库是一个位置place。Maven 仓库是项目中依赖的第三方库这个库所在的位置叫做仓库。在 Maven 中任何一个依赖、插件或者项目构建的输出都可以称之为构件。Maven 仓库能帮助我们管理构件主要是JAR它就是放置所有JAR文件WARZIPPOM等等的地方。Maven 仓库有三种类型本地localMaven 的本地仓库在安装 Maven 后并不会创建它是在第一次执行 maven 命令的时候才被创建。运行 Maven 的时候Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有它会首先尝试从远程仓库下载构件至本地仓库然后再使用本地仓库的构件。默认情况下不管Linux还是 Windows每个用户在自己的用户目录下都有一个路径名为 .m2/respository/ 的仓库目录。Maven 本地仓库默认被创建在 %USER_HOME% 目录下。要修改默认位置在 %M2_HOME%\conf 目录中的 Maven 的 settings.xml文件中定义另一个路径。中央centralMaven 中央仓库是由 Maven 社区提供的仓库其中包含了大量常用的库。中央仓库包含了绝大多数流行的开源Java构件以及源码、作者信息、SCM、信息、许可证信息等。一般来说简单的Java项目依赖的构件都可以在这里下载到。远程remote如果 Maven 在中央仓库中也找不到依赖的文件它会停止构建过程并输出错误信息到控制台。为避免这种情况Maven 提供了远程仓库的概念它是开发人员自己定制仓库包含了所需要的代码库或者其他工程中用到的 jar 文件。4Maven 依赖搜索顺序当我们执行 Maven 构建命令时Maven 开始按照以下顺序查找依赖的库步骤 1 在本地仓库中搜索如果找不到执行步骤 2如果找到了则执行其他操作;步骤 2 在中央仓库中搜索如果找不到并且有一个或多个远程仓库已经设置则执行步骤 4如果找到了则下载到本地仓库中以备将来引用;步骤 3 如果远程仓库没有被设置Maven 将简单的停滞处理并抛出错误无法找到依赖的文件;步骤 4 在一个或多个远程仓库中搜索依赖的文件如果找到则下载到本地仓库以备将来引用否则 Maven 将停止处理并抛出错误无法找到依赖的文件;

相关新闻

中小学教室专用门选购要点及标准要求

中小学教室专用门选购要点及标准要求

2026/8/23 4:17:17

校园教室门属于高频使用公共门,选购不能只看外观,需围绕安全防护、消防合规、耐用抗造、人性化设计四大核心,贴合学生使用特点与校方验收规范,下面详细说明选购标准。首先必须满足消防硬性要求,优先选用乙级木质防火门…

百度网盘提速全攻略:在线解析工具+直链提取教程,告别限速

百度网盘提速全攻略:在线解析工具+直链提取教程,告别限速

2026/9/8 16:45:31

当我们不想花钱再百度下载文件的时候,而且希望下载速度比肩会员的时候,不妨来看看我这方法:点我打开方法 下载速度是不受限制,主要看你的网速和宽带跑个10几M/秒不是问题,亲测有效,接下来就是教程部分 打开…

全年龄段覆盖的超低钆造影剂获批:Ambelvist为新生儿到成人的MRI检查筑牢安全底线【海得康】

全年龄段覆盖的超低钆造影剂获批:Ambelvist为新生儿到成人的MRI检查筑牢安全底线【海得康】

2026/8/23 4:17:17

2026年6月15日,拜耳宣布新型大环钆造影剂Ambelvist(gadoquatrane)正式获得美国FDA批准上市,这款产品是目前美国获批的剂量最低的大环钆基造影剂,推荐剂量仅为0.01 mmol/kg实际体重,换算后相当于0.04 mmol G…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/28 4:08:17

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/28 16:01:49

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/28 2:15:29

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/28 3:14:54

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/28 3:58:00

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/28 3:47:14

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/28 16:01:48

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/28 5:05:21

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/28 16:01:48

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…