`

Maven学习笔记

    博客分类:
  • Java
阅读更多

一个简单的Maven项目

创建一个简单的项目

$mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook

构建一个简单的项目

$mvn install

简单的项目对象模型(Project Object Model)

Maven真正运行的POM

$mvn help:effective-pom

核心概念

Maven插件和目标(Plugins and Goals)

mvn archetype:create

这里archetype是一个插件标识而create是目标标识。

一个目标是一个明确的任务,它可以作为单独的目标运行,或者作为一个大的构建的一部分和其它目标一起运行。一个目标是Maven中的一个“工作单元(unit of work)”。

目标通过配置属性进行配置,以用来定制行为。

Maven生命周期(Lifecycle)

一个生命周期是一些阶段的序列

当Maven经过以package为结尾的默认生命周期的时候,下面的目标按顺序被执行:

resources:resources

compiler:compile

resources:testResources

compiler:testCompile

surefire:test

jar:jar

Maven坐标(Coordinates)

POM为项目命名,提供了项目的一组唯一标识符(坐标),并且通过依赖(dependencies),父(parents)和先决条件(prerequisite)来定义和其它项目的关系。

Maven坐标定义了一组标识,它们可以用来唯一标识一个项目,一个依赖,或者Maven POM里的一个插件。

groupId, artifactId, version和packaging。这些组合的标识符拼成了一个项目的坐标。

Maven空间是项目的一个坐标系统

Maven仓库(Repositories)

Maven仓库的标准是按照下面的目录格式来存储构件,相对于仓库的根目录:

/<groupId>/<artifactId>/<version>/<artifactId>-<version>.<packaging>

Maven依赖管理(Dependency Management)

一个复杂的项目将会包含很多依赖,也有可能包含依赖于其它构件的依赖。这是Maven最强大的特征之一,它支持了传递性依赖(transitive dependencies)。

Maven同时也提供了一种机制,能让你排除一些里不想要的传递性依赖。(使用provided范围)

Maven也提供了不同的依赖范围(dependency scope)。

站点生成和报告(Site Generation and Reporting)

生成文档和报告。

$mvn site

这将会运行site生命周期阶段。它不像默认生命周期那样,管理代码生成,操作资源,编译,打包等等。Site生命周期只关心处理在src/site目录下的site内容,还有生成报告。

Maven提供了很完整的可配置的报告,像Clover报告检查单元测试覆盖率,JXR报告生成HTML源代码相互间引用,这在代码审查的时候非常有用,PMD报告针对各种编码问题来分析源代码,JDepend报告分析源代码中各个包之间的依赖。通过在pom.xml中配置那些报告被包含在构建中,站点报告就可以被定制了。

<!--EndFragment-->
分享到:
评论

相关推荐

    maven学习笔记maven学习笔记

    maven学习笔记maven学习笔记maven学习笔记

    Maven学习笔记.zip

    **Maven学习笔记** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。Maven通过使用一个项目对象模型(Project Object Model,POM),XML格式的配置文件,定义了...

    maven学习笔记01(基础入门)

    ** Maven基础入门 ** Maven是一个Java项目管理工具,它主要负责构建、依赖管理和项目信息管理。...在`maven_study_01`的学习笔记中,你可以找到更多关于Maven的基础知识和实践案例,帮助你快速上手并掌握这一工具。

    maven学习笔记整理

    maven学习笔记整理

    培训机构传出的maven学习笔记

    在“培训机构传出的maven学习笔记”中,我们可能涵盖以下几个关键知识点: 1. **Maven的基本概念**:理解Maven的核心概念,如POM.xml文件、仓库(本地仓库和中央仓库)、生命周期和构建阶段(如clean、compile、...

    maven学习笔记1

    【Maven学习笔记1】 Maven是一个强大的Java项目管理和构建工具,它可以帮助开发者管理项目的依赖、构建过程、项目信息和报告。本笔记主要涵盖了Maven的基础知识,包括资料收集、安装指南,特别是针对Linux环境下的...

    maven学习笔记.rar

    ** Maven学习笔记详解 ** Maven,作为Java项目管理和构建工具,是开发人员不可或缺的利器。它通过使用一种标准化的项目对象模型(Project Object Model,POM)来管理项目的依赖关系,构建过程以及配置信息。Maven...

    mybatis_maven学习笔记

    【mybatis_maven学习笔记】 在Java开发领域,MyBatis和Maven是两个不可或缺的工具,它们分别在数据访问层和项目构建方面扮演着重要角色。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,...

    个人Maven学习笔记

    ### 个人Maven学习笔记 #### 为什么使用Maven? 在软件开发过程中,尤其是在使用Java进行后端开发时,项目通常会依赖大量的第三方库或框架。如果没有统一的管理工具,这些依赖很容易出现版本冲突的问题,增加了...

    Maven 学习笔记.docx

    【Maven学习笔记】 Maven是一个强大的项目管理和构建工具,主要应用于Java开发领域。它能够自动管理项目的依赖关系,帮助开发者解决因jar包版本冲突、依赖管理混乱等问题带来的困扰。Maven通过制定一套规范化的项目...

    Maven学习笔记大全.docx

    **Maven学习笔记大全** Maven是一个强大的Java项目管理工具,它通过项目对象模型(Project Object Model,简称POM)来管理和构建项目。POM是一个XML文件,包含了项目的配置信息,如依赖、构建过程和插件设置。Maven...

    201205_Maven学习笔记1.rar

    【标题】:“201205_Maven学习笔记1.rar”揭示了关于Maven的深入学习内容,这个压缩包包含了一系列文档,旨在帮助开发者更好地理解和应用Maven这一强大的Java项目管理和构建工具。 【描述】:尽管描述部分是空的,...

    maven学习笔记,快速入门maven

    内容概要:maven学习笔记,适合刚接触maven的人能让你快速入门。 适用人群:大学生或者初基础maven的人 使用场景及目标:idea集成maven,用来下载依赖包

    201205_Maven学习笔记3.rar

    【标题】"201205_Maven学习笔记3.rar"所涵盖的知识点主要集中在Maven的使用和集成上,这是一个关于Maven的详细学习资料压缩包,包含多个文档,帮助用户理解并掌握Maven在实际开发中的应用。Maven是一个强大的Java...

    Maven学习笔记 PDF记录一下

    Maven学习笔记,使用中遇到的问题,集成eclipse的各种坑,以便记录,为了以后复习使用。

Global site tag (gtag.js) - Google Analytics