美文网首页
第一章、Maven入门

第一章、Maven入门

作者: 傲娇的呱太君 | 来源:发表于2017-03-19 01:02 被阅读0次

    一、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>

    相关文章

      网友评论

          本文标题:第一章、Maven入门

          本文链接:https://www.haomeiwen.com/subject/xwapnttx.html