`
lantian_123
  • 浏览: 1360593 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Maven3核心概念

阅读更多

 

http://lantian-123.iteye.com/blog/1472008Maven3入门篇

 

Maven3核心概念

 

一、Maven插件和目标(Plugins and Goals)

 

mvn archetype:create -DgroupId=xxx -DartifactId=xxx -DpacageName=xxx

 

这条命令中就有Archetype插件的create目标,其中archetype是插件的标识、create是目标标识。一个Maven插件是一个或多个目标的集合,如Compiler插件包含一组编译源代码和测试源代码的目标。

 

二、Maven的生命周期(Lifecycle)

 

一个生命周期是一些阶段(phase)的序列。

 

 

Maven支持多种不同的生命周期,常用的位默认(default lifecycle)的生命周期。从验证项目的基本完整性阶段开始到把项目发布成产品阶段结束。

 

Maven在执行一个阶段的时候,首先会有序的执行前面的所有阶段,同时插件目标可以附着在是生命周期阶段上。当Maven经过一package作为结束的默认生命周期的时候,目标按顺序执行:

运行:mvn package 与 mvn resources:resources \  compiler:compile resources:testResources compiler:testCompile surefire:test jar:jar

能达到相同的效果

 

三、Maven坐标(co-codinates)

 

Maven定义了一组标识,用来唯一标识一个项目、一个依赖(dependency)、或者一个插件。

 

groupId,artifactId,packaging,version组成一个项目的坐标。相当于空间中的某个点。当一个项目通过依赖、插件或者父项目引用来关联另外一个项目时,Maven通过左边来定位一个项目。Maven坐标格式为:groupId:artifactId:packeging:version,以冒号分隔书写。如:mavenbook:myapp:jar:1.0-SNAPSHOT。

 

四、Maven仓库(Repositories)

 

Maven仓库是项目构件的一个集合,Maven是远程仓库下载构件和插件到本机,Manven仓库按照如下目录格式存储构件

 

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

如:commons-email-1.1.jar

 

Maven仓库既是一个从远程仓库下载的构件的缓存,也允许项目相互依赖。如:项目A和项目B,B依赖于A产生的构件,构建项目B的时候,Maven会从本地仓库取得项目A的构件。

 

五、Maven依赖管理(Dependency Management)

 

依赖即为项目依赖的库文件。比如包含测试单元的项目中有JUnit的依赖,在pom.xml中有dependencies的定义。Maven支持传递性(transitive dependencies)

 

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

 

maven依赖关系中Scope的作用 

   

 compile: 缺省值,适用于所有阶段,会随着项目一起发布。 
   

 provided:provided依赖只有在当JDK或者一个容器已提供该依赖之后才使用。例如,如果你开发了一个web应用,你可能在编译classpath中需要可用的Servlet API来编译一个servlet,但是你不会想要在打包好的 WAR中包含这个Servlet API;这个Servlet API JAR由你的应用服务器或者servlet容器提供。已提供范围的依赖在编译classpath(不是运行时)可用。它们不是传递性的,也不会被打包。

 

 runtime: 在运行时使用,但在编译的时候不需要。如JDBC驱动,而只有在运行的时候才需要JDBC驱动 实现,适用运行和测试阶段。 

   

 test:只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
 

 system:类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。 

 

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

 

Maven能够生成文档和报告。运行 mvn site,在target/site/index.html下可以看到一个详细的测试结果的描述,API的JavaDoc文档。

1
0
分享到:
评论

相关推荐

    Maven初识,核心概念,构建多模块系统

    认识Maven。Maven安装,Maven核心概念,约定配置,坐标和仓库,POM,依赖管理,构建的总结,聚合与继承的区别。的脑图

    maven 从基本概念学习到构建项目应用

    这份资料源自工作经验 从maven的核心概念讲解开来,直到构建一个简单的项目和一个复杂的项目,包含源代码。 比较全面。

    Maven面试题及其答案

    Maven的核心概念包括POM、坐标、仓库、生命周期、插件、依赖管理。 3、什么是POM? POM是Maven项目的核心文件,它是Project Object Model(项目对象模型)的缩写。POM以XML格式编写,POM文件包含了项目的基本信息; ...

    Maven:构建和管理Java项目Maven:构建和管理Java项目

    本文将介绍 Maven 的基本概念、核心功能和优势,以及它在项目开发中的重要作用。 第一部分:Maven 的基本概念 解释 Maven 的基本概念,包括项目对象模型(POM)、坐标和仓库等。介绍如何使用 POM 文件来描述项目的...

    maven 的入门篇

    写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven ...然后下篇就讲解一下 maven 的核心概念。写这两篇文章特意回避了复杂的示例,也不使用 IDE ,目的是排除干扰,着重于 maven 本身

    Maven+Hibernate+Spring+Spring MVC开发新闻发布系统

    第3课 理解Maven核心概念(一) 第4课 使用Maven核心概念(二) 第5课 使用Maven创建web项目 第6课 使用Maven构建多模块项目(一) 第7课 使用Maven构建多模块项目(二) 第8课 使用Nexus搭建Maven私服 第9课 使用...

    Maven原理和实践-培训课件.ppt

    何为Maven 构建,依赖管理,项目信息聚合 Maven核心概念 坐标,依赖,仓库,生命周期,插件 Maven最佳实践 创建、打包、发布、版本管理 项目实战 Nexus(Todo…) M2eclipse(Todo…)

    Maven:Apache Maven核心

    基于项目对象模型(POM)的概念,Maven可以从中央信息管理项目的构建,报告和文档。 如果您认为已发现错误,请在提交问题。文献资料可以在上找到更多信息。 有关Maven使用的问题应发布在。在哪里可以获得最新版本?...

    Maven入门--概念与实例

    本文主要是关注Maven中的重要概念,并以一个实例来阐述使用Maven的 基本方法。文末有例子代码下载的链接。 1 关键名词 Project:任何您想build的事物,Maven都可以认为它们是工程。这些工程被定义为工程对象模型...

    Maven实战.pdf

    详细讲解了坐标和依赖、Maven仓库、生命周期和插件、聚合与继承等Maven的核心概念,建议所有读者仔细阅读;系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、...

    Maven实战 许晓斌 著

    详细讲解了坐标和依赖、Maven仓库、生命周期和插件、聚合与继承等Maven的核心概念,建议所有读者仔细阅读;系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、...

    《Maven实战》

    详细讲解了坐标和依赖、Maven仓库、生命周期和插件、聚合与继承等Maven的核心概念,建议所有读者仔细阅读;系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、...

    Maven实战 高清版pdf

    详细讲解了坐标和依赖、Maven仓库、生命周期和插件、聚合与继承等Maven的核心概念,建议所有读者仔细阅读;系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、...

    Maven: By Example

    本书采用示例的方式介绍了Maven的相关核心概念 This book is an introduction to Apache Maven which uses a set of examples to demonstrate core concepts. Starting with a simple Maven project which contains...

    Maven3实战笔记04Maven的生命周期和插件

    Maven项目周期是一个抽象的概念,这个概念性的东西意味着它并不做任何实质性的事情,也就是说:它就像接口,只定义规范,具体细节它不管。具体的实现细节则交给了Maven的各个丰富的插件。Maven的插件机制有可能是跟...

    maven 教程

    详细讲解了坐标和依赖、Maven仓库、生命周期和插件、聚合与继承等Maven的核心概念,建议所有读者仔细阅读;系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、...

    编程开发+Maven技术+Maven安装与配置+技术课程

    此外,课程还包括对Maven核心特性的深入讲解,如依赖管理、构建生命周期、插件使用等,以及如何通过自定义settings.xml文件来优化Maven项目的构建过程。我们的目标是让学员不仅能够安装和配置Maven,还能够灵活运用...

    Maven实战 高清版

    详细讲解了坐标和依赖、Maven仓库、生命周期和插件、聚合与继承等Maven的核心概念,建议所有读者仔细阅读;系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、...

    Maven入门巨无霸视频教程(2.24G)

    使用Maven核心概念介绍(坐标、依赖、仓库、插件、生命周期等)、Maven与第三方Elicpse整合及如何在Eclipse中使用Maven、什么是私服、Maven为什么使用私服、Maven私服Nexus的安装使用、如何使用Maven构建Web应用、使用...

Global site tag (gtag.js) - Google Analytics