Maven 学习笔记(一)
2024-10-14 22:40:12
什么是 maven?
对于已经使用过 maven 的用户来说 maven 就是一个架构工具,使用它可以将代码构建成一个可发布的工具.当然也有人会说maven是一个项目管理的工具。当然各有各的说法,那么一个更正式的 Apache Maven 的定义: Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
如何理解一个项目的概念模型?
Maven 维护了一个项目的模型,意味着不仅要将其源码编译成字节码文件,还需要包含软件开发的描述信心,为项目指定一个唯一的坐标。主要有以下特点:
- 依赖管理:一个项目包含组标识符,构件标识符和版本的唯一的坐标定义的。因此在项目之间可以使用这些声明来添加依赖。
- 远程仓库:和项目的依赖有关系,我们可以使用定义在项目对象模型(POM)中的坐标来创建 Maven 构件的仓库。
- 全局性构建逻辑重用:在项目模型对象中我们可以引入很多的插件使其一起工作。
- 工具的继承:对于很多的IDE都支持通过 maven 创建项目。
Maven VS Ant?
Ant:
- Ant 约定一个项目的目录结构必须是什么样子的,但是你必须明确的告诉 Ant 哪里去找源代码,哪里放置输出。
- Ant 是程序化的,你必须明确的告诉 Ant 做什么,什么时候做。
- Ant 没有生命周期,你必须定义目标和目标之间的依赖。
Mavne:
- Maven 是有一定的约定的,基于maven的项目,源码和测试代码是在规定的文件中的。
- Maven 是声明式的,你一般只需要创建一个pom文件然后将源码放在指定的目录。maven就会为你做你需要做的事情。
- Mavne 是有生命周期的,当你运行一个命令的时候,这条命令就会告诉maven要去做哪些事情知道这个命令执行完毕。
最新文章
- ajax方法简单实现
- Hadoop学习(3)-- 安装1.x版本
- .Net操作.exe文件
- Dockerfile 指令
- 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程07:UI》
- 问题-[Delphi]无法设置断点
- mysql5.5 对触发器,函数,存储引擎,事件进行主从复制情况.(转)
- Python Unittest 自动化单元测试框架Demo
- 黑马程序员:Java基础总结----类加载器
- css Loading 教程
- queue的入门
- maven入门(1-3)构建简单的maven项目
- 带三方登录(qq,微信,微博)
- JAVA函数的重载和重写
- Android Studio无线连调式android手机
- Asp.net Core认证和授权:JWT认证和授权
- 洗礼灵魂,修炼python(59)--爬虫篇—httplib模块
- ubuntu/debian ia-libs
- 【jersey】 spring 整合jersey 实现RESTful webservice
- Can't deserialize with binaryFormatter after changing namespace of class