第一章、Maven入门

2017-03-19  本文已影响0人  傲娇的呱太君

一、Maven简单介绍

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

二、Maven的组成

三、安装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>
上一篇下一篇

猜你喜欢

热点阅读