Maven是开源、跨平台(Windows\Linux\Mac)主要服务于基于Java平台的自动化项目构建、依赖管理、报告和文档的软件项目管理工具。
项目构建(Build)包括:项目的清理、编译、测试、生成文档、打包和部署的过程。Maven最大化地消除了构建的重复,抽象了构建生命周期,并且为绝大部分的构建任务提供了已实现的插件。
依赖管理(Dependency Management):Maven通过坐标有序系统管理第三方构件(artifact)、类库(Jar文件)。Maven为全世界的Java开发者提供了一个免费的中央仓库,在其中几乎可以找到任何的流行的开源类库。只要定位了坐标,Maven就能够帮我们自动下载。
Maven包含了一个项目对象模型(POM,Project Object
Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件目标的逻辑。
Maven能够很方便的帮你管理项目报告(项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等),测试报告,静态分析报告,源码版本日志报告,生成站点,管理JAR文件。
无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷模式,maven都能大显身手。
|
Maven
|
Ant
|
标准构建文件
|
project.xml 和 maven.xml
|
build.xml
|
特性处理顺序
|
1.${maven.home}/bin/driver.properties
2.${project.home}/project.properties
3.${project.home}/build.properties
4.${user.home}/build.properties
5.通过 -D命令行选项定义的系统特性
最后一个定义起决定作用。
|
1.通过 -D命令行选项定义的系统特性
2.由 任务装入的特性
第一个定义最先被处理。
|
构建规则
|
构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。
|
构建规则或多或少是静态的,除非使用<script>任务
|
扩展语言
|
插件是用 Jelly(XML)编写的。
|
插件是用 Java 语言编写的。
|
构建规则可扩展性
|
通过定义 <preGoal> 和 <postGoal> 使构建 goal 可扩展。
|
构建规则不易扩展;可通过使用 <script> 任务模拟 <preGoal> 和 <postGoal> 所起的作用。
|
Maven的书籍《Maven实战》作者许晓斌 著
本书代码:http://www.juvenxu.com
分享到:
相关推荐
**Maven教程:基础篇——尚硅谷学习笔记 2022年** Maven是一个强大的Java项目管理和构建工具,由Apache软件基金会开发。它通过提供一个标准的项目对象模型(Project Object Model,POM)来简化项目的构建过程,并...
【标题】:“201205_Maven学习笔记1.rar”揭示了关于Maven的深入学习内容,这个压缩包包含了一系列文档,旨在帮助开发者更好地理解和应用Maven这一强大的Java项目管理和构建工具。 【描述】:尽管描述部分是空的,...
### Maven学习笔记——Maven与Spring3+Mybatis整合实践 #### Maven简介及核心功能 Maven是一款由Apache基金会开发的项目管理和综合工具,旨在帮助软件开发者自动化构建过程中的重复任务,如编译、测试、打包、部署...
【标题】:“Web学习笔记——Tomcat” 在Web开发领域,Tomcat是一个广泛使用的Java Servlet容器,它实现了Java EE中的Web部分,特别是Servlet和JSP规范。Tomcat以其开源、轻量级和高效的特性,成为了许多小型项目和...
在学习这些资料时,首先要理解Maven的核心理念——“约定优于配置”,这意味着Maven提供了一套标准的项目结构和默认的构建流程。其次,深入学习POM.xml文件,它是Maven项目的中心,包含了项目信息、依赖、构建配置等...
【Maven笔记1】—— Maven入门 Maven是一款强大的Java项目管理和构建工具,它解决了传统项目构建中的诸多痛点,使得Java开发变得更加规范和高效。在本文中,我们将深入探讨Maven的基本概念、功能以及如何解决上述...
标题 "我的Spring笔记 —— 构建" 指向的是一个关于Spring框架构建过程的个人学习记录。在这个笔记中,作者可能详细介绍了如何配置和使用`pom.xml`文件来管理Spring项目的依赖和构建流程。`pom.xml`是Maven项目对象...
【标题】:“学习笔记”——探索源码与工具的奥秘 在“学习笔记”这个压缩包中,我们可以预见到一系列关于源码分析和工具使用的深入探讨。这是一份宝贵的资源,适合那些想要提升自己在IT领域技术能力,尤其是对源码...
内容概要:包含SpringBoot——初始SpringBoot,SpringBoot的基本配置(多环境开发、yaml等)、整合第三方技术(JUnit,Mybatis,SSM)适合人群:有一定的maven,SpringMVC基础文件内容:压缩包分为两部分,笔记和...
标题中的“ant maven3”指的是两种在Java开发中广泛使用的构建工具——Ant和Maven3。Ant是Apache软件基金会的一个项目,它是一个基于XML的构建工具,主要用于自动化Java项目的构建、编译、测试和部署过程。而Maven3...
### Girl项目学习笔记1 #### 一、Spring Boot项目初始化与Maven镜像更换 **1.1 更换IDEA内置Maven镜像至阿里云中央仓库** 在启动Spring Boot项目之前,首先需要确保开发环境配置正确。对于使用IntelliJ IDEA作为...
【描述】虽然描述部分是"NULL",但通过提供的博文链接——"https://avery-leo.iteye.com/blog/277861",我们可以推测James的学习笔记可能在ITEYE这个知名的开发者社区上有一篇相关的博客文章。ITEYE是一个集技术问答...
在"SSM整合——个人笔记"这个资源中,作者提供了整合SSM的源代码和详细注释,这对于初学者来说是非常宝贵的参考资料。通过阅读源码和笔记,你可以了解到每个组件的具体作用以及它们如何协同工作,从而更好地理解和...
在本篇“appfuse学习笔记(二)新建模块”中,我们将深入探讨AppFuse框架的模块创建过程。AppFuse是一个开源项目,它提供了一个快速开发Web应用的基础结构,旨在简化开发流程并提高代码质量。通过AppFuse,开发者...
**标题解析:** "Dom4j学习笔记" 这个标题明确指出了我们要探讨的主题——Dom4j。Dom4j是一个流行的Java库,用于处理XML文档。它提供了丰富的API,使得XML的读取、写入、操作变得简单易行。在学习笔记中,通常会涵盖...
在本篇【Hibernate学习笔记(一)】中,我们将探讨Java开发中的持久化框架——Hibernate。Hibernate是一个强大的ORM(对象关系映射)工具,它允许开发者以面向对象的方式来操作数据库,极大地简化了Java与数据库之间...
最后,笔记中可能涵盖了一些辅助工具和框架,如Maven进行项目管理和构建,Git进行版本控制,以及IntelliJ IDEA或Eclipse等IDE的使用,这些工具能够提高开发效率。 总之,这份“达内java笔记”是学习J2EE的一份宝贵...
这个版本的学习笔记主要集中在 Struts 框架的核心概念、架构和实际应用上。Struts 1 提供了一个MVC(Model-View-Controller)设计模式的实现,帮助开发者组织应用程序的逻辑,提高代码的可维护性和可扩展性。 在...
### 偌依框架的使用学习笔记 #### 一、若依框架的介绍与说明 若依框架是一款基于Spring Boot、Spring Security、JWT、Vue和Element的全开源快速开发平台,旨在提供高效的前后端分离解决方案。它具备以下特点: 1....
【Web Service学习笔记——XFrie框架详解】 Web Service是一种通过网络进行通信的服务,它允许不同的应用程序之间进行数据交换,跨越了操作系统和编程语言的障碍。XFrie是一个轻量级、高性能的Java Web Service框架...