第一章、Maven入门

一、Maven简单介绍

Maven是一个项目管理工具。强大,但是很容易使用。

二、Maven的组成

  • 一个项目对象模型 (Project Object Model);

  • 一组标准集合;

  • 一个项目生命周期(Project Lifecycle);

  • 一个依赖管理系统(Dependency Management System);

  • 用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

三、安装Maven

MAVEN_HOME= C:\Program Files (x86)\maven

PATH变量添加 %MAVEN_HOME%\bin;

四、生命周期

生命周期就是一个项目从无到有的整个过程。这个过程里包含了多个阶段(比如创建、编译等,如下图)

清理 clean
初始化 validate
编译 compile
测试 test
打包 package
集成测试 install
验证 verify
部署 deploy
站点生成 site

以上的每个生命周期阶段都可以绑定一个或者多个插件行为,而且Maven为大多数构建步骤编写并绑定了默认插件。

五、坐标

Maven坐标定义了一组标识,它们可以用来唯一标识一个项目,一个依赖,或者Maven POM里的一个插件。
Maven项目坐标的构成元素:groupId, artifactId, version和packaging。

groupId:

团体,公司,小组,组织,项目,或者其它团体的逆向域名。例如:com.weimob

artifactId

表示一个单独项目的唯一标识符。例如:mms-industry

version

一个单独项目的特定版本。例如:1.0.0-SNAPSHOT

六、仓库

在Maven中,构件和插件是在它们被需要的时候从远程的仓库取来的。
Maven自带了一个用来下载Maven核心插件和依赖的远程仓库地址/ http://repo1.maven.org/maven2, 它只包含了几近赤裸的最少值,而在需要的时候再从远程仓库去取。
默认的远程仓库可以被替换,或者增加一个你组织维护的自定义Maven仓库的引用(例如我们自己公司的私服)

七、依赖管理 (Dependency Management)

Maven最强大的特征之一,它支持了传递性依赖(transitive dependencies)。假如你的项目依赖于一个库,而这个库又依赖于五个或者十个其它的库(就像Spring或者Hibernate那样)。

Maven也提供了不同的依赖范围。

  1. scope 默认
  2. test : 无法被编译进classpath中
  3. provided: 告诉诉Maven一个依赖在编译的时候需要,但是它不应该被捆绑在构建的输出中

附:一个带spring的简单pom文件

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">


<modelVersion>4.0.0</modelVersion>
<groupId>com.huangyian</groupId>
<artifactId>firstmaven</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.5.RELEASE</version>
            </dependency>
    </dependencies>
</project>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,491评论 19 139
  • Maven简单介绍 Maven是一个项目管理工具。强大,但是很容易使用。 它包含了: 一个项目对象模型 (Proj...
    高公子Daniel阅读 9,767评论 4 60
  • |-1-更新内容[6.从仓库解析依赖的机制(重要)] 1Maven仓库作用 仓库用来存储所有项目使用到构件,在ma...
    zlcook阅读 11,414评论 0 25
  • 所有项目的构建都是有生命周期的,这个生命周期包括:项目清理、初始化、编译、测试、打包、集成测试、验证、部署、站点生...
    zlcook阅读 7,838评论 0 21
  • 需要颜色:白色,黄色,橙色,蓝色,湖蓝色,黑色。 第一步:打底 第二步:用铅笔画人 第三步:上色 第四步:画出细节...
    五月萌子阅读 3,655评论 4 6