项目中采用Maven2管理项目,使用maven必须知道的一些关键名称如下:
1 关键名词Project:任何您想build的事物,Maven都可以认为它们是工程。这些工程被定义为工程对象模型(POM,Poject Object Model)。一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成。
POM:POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元数据文件,类似于Ant中的build.xml文件。POM文件位于每个工程的根目录中。
GroupId:groupId是一个工程的在全局中唯一的标识符,一般地,它就是工程名。groupId有利于使用一个完全的包名,将一个工程从其它有类似名称的工程里区别出来。
Artifact:artifact 是工程将要产生或需要使用的文件,它可以是jar文件,源文件,二进制文件,war文件,甚至是pom文件。每个artifact都由groupId和 artifactId组合的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库(见Repository)中,否则Maven无法找到 (识别)它们。
Dependency:为了能够build或运行,一个典型的Java工程会依赖其它的包。在Maven中,这些被依赖的包就被称为dependency.dependency一般是其它工程的artifact. Plug-in:Maven是由插件组织的,它的每一个功能都是由插件提供的。插件提供goal(类似于Ant中的target),并根据在POM中找到的元数据去完成工作。主要的Maven插件要是由Java写成的,但它也支持用Beanshell或Ant脚本写成的插件。
Repository:仓库用于存放artifact,它可以是本地仓库,也可以是远程仓库。Maven有一个默认的远程仓库——central,可以从http://www.ibiblio.org/maven/下载其中的artifact.在Windows平台上,本地仓库的默认地址是User_Home\.m2\repository. Snapshot:工程中可以(也应该)有一个特殊版本,它的版本号包括SNAPSHOT字样。该版本可以告诉Maven,该工程正处于开发阶段,会经常更新(但还未发布)。当其它工程使用此类型版本的artifact时,Maven会在仓库中寻找该artifact的最新版本,并自动下载、使用该最新版。
2 Maven Build Life Cycle软件项目一般都有相似的开发过程:准备,编译,测试,打包和部署,Maven将上述过程称为Build Life Cycle.在Maven中,这些生命周期由一系列的短语组成,每个短语对应着一个(或多个)操作;或对应着一个(或多个)goal(类似于Ant中的 target)。
如编译源文件的命令mvn compile中的compile是一个生命周期短语。同时该命令也可以等价于mvn compiler:compile,其中的compiler是一个插件,它提供了compile(此compile与mvn compile中的compile意义不同)goal;compiler还可提供另一个goal——testCompile,该goal用于编译junit测试类。
在执行某一个生命周期时,Maven会首先执行该生命周期之前的其它周期。如要执行compile,那么将首先执行validate,generate- source,process-source和generate-resources,最后再执行compile本身。关于Maven中默认的生命周期短语,请见参考资源[6]中的附录B.3.
分享到:
相关推荐
**SpringMVC与Maven入门实例详解** 在Java Web开发中,SpringMVC和Maven是两个非常重要的工具。SpringMVC是Spring框架的一部分,它提供了模型-视图-控制器(MVC)架构,用于构建可维护、高性能的Web应用程序。而...
Apache Maven是一个开源的项目管理和综合工具,...以上内容不仅会为初学者提供Maven入门的全面指导,还会通过实际例子帮助开发者深入理解并掌握Maven的高级特性,为他们今后在项目开发中解决实际问题提供了强大的工具。
在IT行业中,Maven和SpringMVC是两个非常重要的组件,它们分别是项目管理和Web应用程序开发的核心...通过这个入门级的HelloWorld实例,我们可以快速理解这两个工具的基本用法,为进一步深入学习和实践打下坚实的基础。
**SSH整合基础** SSH,即Struts2、Spring和Hibernate,是Java Web开发中的三大主流框架,它们分别负责表现层、业务...通过学习这个实例,开发者可以掌握如何在现代开发环境中构建、配置和运行一个完整的Java Web应用。
课程目录: Maven3_01_maven概览 Maven3_02_maven安装的注意事项 Maven3_03_在eclipse中建立简单的项目 ...Maven3_11_插件基础 Maven3_12_插件的应用 Maven3_13_测试 Maven3_14_发布web项目 Maven3实战笔记 Maven配置
Maven入门--概念与实例.doc
SSH Maven Extjs开发实例教程分营销管理、客户管理、服务管理、统计报表、基础数据和权限管理六个模块。分别针对每个模块进行介绍。SSH Maven Extjs开发实例教程由北风网提供,用到技术:Hibernate、Struts、Spring...
【标题】"Maven入门--较复杂的实例"指的是在IT领域中学习并实践Apache Maven的基础知识,特别是通过一个相对复杂的项目来理解其工作原理和应用。Maven是一个强大的项目管理和综合工具,它可以帮助Java开发者自动化...
这个“HelloWorld”实例展示了Spring 5.0 MVC的基础用法,包括如何配置MVC环境、编写Controller以及展示结果。随着对Spring MVC的深入了解,你可以添加更多的功能,如处理POST请求、使用ModelAndView对象传递复杂...
通过这个实例,初学者不仅能掌握Spring IoC的基本概念,还能了解到Maven的实用功能,为后续更深入的Spring学习打下坚实基础。实际操作中,读者应仔细阅读源码注释,理解每一步骤的意图,从而更好地吸收这些知识。
【Maven简单使用教程】 Maven是一个基于Java的构建工具,专为管理和构建Java项目而设计。它简化了项目的构建过程,通过一个统一的构建生命周期和依赖管理机制,使得项目构建更加规范和高效。Maven的最新版本为2.0.9...
【标题】"Maven+Struts2+Hibernate入门实例"是一个综合性的开发教程,旨在帮助初学者理解并掌握这三个核心技术在Java Web开发中的应用。这个实例项目通过集成Maven、Struts2和Hibernate,展示了如何构建一个功能完备...
【标题】:“maven基础学习(二)-简单实例” 在软件开发中,Maven是一个强大的项目管理和构建工具,尤其在Java领域中广泛使用。本文将深入浅出地讲解Maven的基础知识,并通过实例来演示其核心功能。 【描述】:...
通过这个案例,开发者可以学习如何配置Maven的POM.xml文件,引入Spring依赖,编写Spring配置,以及如何利用Maven的生命周期进行构建和测试。这个实例对于初学者来说是一个很好的起点,能够帮助他们理解这两个强大的...
总结来说,"两个基于Maven+SpringBoot的实例"是针对初学者的实践教程,通过这两个实例,学习者可以了解到如何使用Maven管理项目,以及如何利用SpringBoot快速构建Web应用。这些实例涵盖了从项目初始化、依赖配置到...
1. **Maven基础概念** - **项目对象模型(Project Object Model, POM)**:Maven的核心是POM,它是Maven项目配置的XML文件,包含了项目的基本信息、构建指令、依赖关系等。 - **仓库**:Maven使用中央仓库和本地...
Maven 是一个强大的项目管理和构建工具,主要用于Java项目,它简化了项目的构建、依赖管理和文档生成。Maven 的核心理念是通过使用一个统一的构建...学习并熟练使用 Maven 对于任何 Java 开发者来说都是非常有价值的。
本教程将深入探讨“Maven基础学习”的第四部分——如何使用Archetype来生成项目骨架,帮助初学者快速搭建项目结构。 一、Maven Archetype简介 Archetype是Maven的一种功能,用于创建项目的初始模板或骨架。它定义了...
通过学习和实践这个"Maven SpringMVC项目实例",开发者能够深入理解Maven和SpringMVC的工作原理,掌握现代Java Web应用的开发流程,以及如何构建RESTful服务。这对于提升个人技能,解决实际问题非常有帮助。
**正文** 本篇将深入探讨如何使用`JFinal`、`Maven`和`FreeMarker`构建一个入门级的Web应用程序。...通过这个入门实例,开发者可以快速上手并理解这三者如何协同工作,为后续的项目开发打下坚实基础。