项目管理利器——Maven(慕课网学习笔记)

来源:互联网 发布:雅思写作网络课程 编辑:程序博客网 时间:2024/06/08 20:03

第一章 课程概述

1-1 项目管理利器-maven课程概述

如果决定用struts2、spring、Mybatis来进行新项目的开发,就得进行各个框架jar包的下载。通常做法是到各个官网下载对应jar包,全部放进lib中,这样做的坏处是:
  • jar包太多,包含有用的没用的,造成项目拥堵。
  • 下载的版本不一样,造成版本冲突。

    项目管理和构建工具:Maven、Ant、gradle。更为方便地管理和构建我们的项目。

第二章 唯快不破-maven快速入门

2-1 maven介绍及环境搭建

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
http://maven.apache.org/下载maven后解压。配置系统环境变量。新增系统变量:变量名(MAVEN_HOME),变量值(D:\apache-maven-3.1.1)(填写mave解压路径)。Path变量后增加;%MAVEN_HOME%\bin
保存配置后,在windows命令行输入mvn -v显示maven版本号及配置成功。

2-2 第一个maven案例hellomaven

目录结构:

src    -main        -java            -package    -test        -java            -package    -resources

第三章 稳扎稳打–Maven核心知识

3-1 maven常用的构建命令介绍

  • -v 查看maven版本
  • compile 编译
  • test 测试
  • package 打包
  • clean 删除target
  • install 安装jar包到本地仓库中(工程2要引用工程1,则工程1需install)

3-2 maven自动建立目录骨架

mvn archetype:generate 按照提示进行选择mvn archetype:generate -DgroupId=组织名,公司网址的反写+项目名 -DartifactId=项目名-模块名 -Dversion=版本号 -Dpackage=代码所存在的包名

3-3 maven中的坐标和仓库

坐标:构件(groupId、artifactId、version决定了jar包的唯一)
仓库:本地仓库和远程仓库(中央仓库lib下maven-model-builder下的org.apache.maven.model的pom-4.0.0xml里面的第一个url)
镜像仓库:外网访问不稳定时,访问国内镜像仓库。
本地仓库的修改:conf.settings.xml里面53行,按照注释的格式自定义位置。复制一份settings.xml放到本地仓库目录位置,方便maven更新不需要做修改。

3-4 在eclipse中安装maven插件以及创建maven项目

3-5 maven的生命周期和插件

完整的项目构建过程包括

清理、编译、测试、打包、集成测试、验证、部署

maven生命周期:

  • clean 清理项目 (clean)
  • default 构建项目(compile、test、package、install)
  • site 生成项目站点

执行某个阶段,其前面的步骤也会执行。

3-6 maven中pom.xml解析

<groupId>反写的公司网址+项目名</groupId><artifactId>项目名+模块名</artifactId><!-- 第一个0表示大版本号    第二个0表示分支版本号    第三个0表示小版本号    0.0.1    snapshot 快照    alpha 内部测试    beta 公测    release 稳定    GA 正式发布--><version></version><!-- 默认是jar    war zip pom--><packaging></packaging><!-- 项目描述名 --><name></name><!-- 项目地址 --><url></url><!-- 项目描述 --><description></description><developers></developers><licenses></licenses><organization></organization><dependencies>    <dependency>        <groupId></groupId>        <artifactId></artifactId>        <version></version>        <type></type>        <scope>test</scope>        <!--设置依赖是否可选-->        <optional></optional>        <!--排除依赖传递列表-->        <exclusions>            <exclusion>            </exclusion>        </exclusions>    </dependency></dependencies><!--依赖的管理--><dependencyManagement>    <dependencies>        <dependency></dependency>    </dependencies><dependencyManagement><build>    <!--插件列表-->    <plugins>        <plugin>            <groupId></groupId>            <artifactId></artifactId>            <version></version>        </plugin>    </plugins></build><parent></parent><modules>    <module></module><modules>

3-7 maven依赖范围

3-8 maven依赖传递

<exclusions>    <exclusion>        填写jar的坐标,可以去除某项依赖传递    </exclusion></exclusions>

3-9 maven依赖冲突

两个依赖中有同一个jar包,不同的版本。则按依赖规则:

  1. 短路优先:走最短的路径拿到包。
  2. 先声明先优先:如果路径长度相同,则谁先声明,先解析谁。

3-10 maven聚合和继承

聚合:

<packaging>pom</packaging><modules>    <module>../hongxing-bge</module>    <module>../hongxing-nage</module>    <module>../hongxing-shanji</module></modules>

执行clean install,三次打包jar安装到本地仓库。
继承:

<properties>    <junit.version>3.8.1</junit.version></properties><dependencyManagement>    <dependencies>        <dependency>            ...${junit.version}...        </dependency>    </dependencies></dependencyManagement><parent>    ...</parent>

第四章 如何构建web项目

4-1 使用maven构建web项目

第五章 课程总结

5-1 课程总结

课程链接:http://www.imooc.com/video/8684
转摘自慕课网。

0 0
原创粉丝点击