目录
一文搞懂Maven,建议收藏!!!
文章所属专区 日积月累
前言
Maven是Apache软件基金会唯一维护的一款自动化构建工具,专注于服务Java平台的项目构建和依赖管理。
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
Maven的作用
- 项目构建:提供标准的、跨平台的自动化项目构建方式
- 依赖管理:方便快捷的管理项目依赖的资源jar包),避免资源间的版本冲突问题
- 统一开发结构:提供标准的、统一的项目结构
Maven的下载与安装
官网: http://maven.apache.org/
下载地址: http://maven.apache.org/download.cgi
安装参考:史上最全安装Maven教程
创建Maven项目
参考:创建Maven项目
Maven的生命周期LifeCycle
Clean 生命周期:用于清理项目,包括删除之前构建生成的文件。
- pre-clean:执行清理前需要完成的工作。
- clean:清理上一次构建过程中生成的文件(target中的文件)。
- post-clean:执行清理后需要完成的工作。
Default 生命周期(也称为 Build 生命周期):用于构建项目。
- validate:验证项目的正确性,例如检查项目的版本是否正确。
- compile:编译项目的源代码。
- test:运行项目的单元测试。
- package:将编译后的代码打包成可分发的格式,例如 JAR 或 WAR。
- verify:对项目进行额外的检查以确保质量。
- install:将项目的构建结果安装到本地 Maven 仓库中,以供其他项目使用。
- deploy:将项目的构建结果复制到远程仓库,以供其他开发人员或团队使用。
- Site 生命周期:用于生成项目的文档和站点信息。
site:生成项目文档和站点信息。
deploy-site:将生成的站点信息发布到远程服务器,以便共享项目文档。
Project Object Model:项目对象模型。将Java工程的相关信息封装为对象作为便于操作和管理的模型。
Project Object Model:项目对象模型
POM文件,将Java工程的相关信息封装为对象作为便于操作和管理的模型,是Maven工程的核心配置。
Maven的坐标
使用如下三个向量在Maven的仓库中唯一的确定一个Maven工程。
groupid:公司或组织的域名倒叙+当前项目名称
artifactId:当前项目的模块名称
version:当前模块的版本
总结
Maven在Java开发中扮演者一个重要的角色,日常工作中常常会接触(虽然好像面试不会文问),但是每一个Java工程师都应该熟练使用并掌握他。使用过程中也会有一些非常坑的问题,比如我遇到的clean install 后 tager目录下的可执行文件(JAR),竟然没有把最新写得代码编译进去这种问题。。。导致部署到现场时闹乌龙,后面发现还是用package稳妥点。
参考
java中的maven是什么?
maven package和maven install有什么区别?
Java之Maven【IDEA版】入门到精通(一篇文章精通系列)
菜鸟教程 Maven 教程
给个三连吧 谢谢谢谢谢谢了