maven笔记

1、maven的核心其实不做什么实际的事情,除了解析一些XML文档,管理生命周期与插件之外,它什么也不懂。Maven 被设计成将主要的职能委派给一组maven插件,这些插件可以影响maven生命周期,提供对目标的访问。

2、绝大多数maven的动作发生于maven插件的目标,如编译源码,打包二进制代码,发布站点和其他构建任务。你从Apache下载的maven不知道如何打包war文件,也不知道如何运行单元测试,maven大部分的智能是有插件实现的,而插件从maven仓库获得。事实上,第一次你用全新的maven安装运行诸如mvn install命令的时候,它会从中央maven仓库下载大部分核心maven插件。这不仅仅是一个最小化的maven分发包大小的技巧,这种方式更能让你升级插件以给你项目的构建提高能力。maven从远程仓库获取依赖和插件的这一事实允许了构建逻辑的全局性重用。

3、项目:maven维护了一个项目的模型,你不仅仅需要把源码编译成字节码,你还需要开发软件项目的描述信息,为项目指定一组唯一的坐标。你要描述项目的属性。项目的许可证是什么?谁开发这个项目,为这个项目做贡献?这个项目依赖于其他什么项目没有?

4、maven不仅仅是一个“构建工具”,它是包含了一组关于软件项目和软件开发的语义规则的平台,这个基于每一个项目定义的模型实现了如下特征:

依赖管理

       由于项目是根据一个包含组标识符,构件标识符和版本的唯一坐标定义的,项目间可以使用这些坐标来声明依赖。

远程仓库

        和项目依赖相关的,我们可以使用定义在项目对象模型(POM)中的坐标来创建Maven构件的仓库。

全局性构建逻辑重用

        插件被编写成和项目模型对象(POM)一起工作,它们没有被设计成操作某一个已知位置的特定文件。一切都被抽象到模型中,插件配置和自定义行为都在模型中进行。

工具可移值性/集成

 便于搜索和过滤构件

5、设置环境变量

     c:\user >set M2_HOME = c:\Program Files\maven-2.0.9

     c:\user >set PATH = %PATH%;%M2_HOME%\bin

     在命令行设置环境变量后,可以在当前会话使用maven,但是,除非你通过控制面板把它们加入系统变量,可以长期有效。



你可能感兴趣的:(maven)