项目管理利器maven入门笔记(2)

来源:互联网 发布:深入理解linux内核4.4 编辑:程序博客网 时间:2024/05/21 17:30

以下内容笔记来自慕课网视频《项目管理利器——maven》

第三章 maven核心知识

    • 第三章 maven核心知识
      • 3-1 常用的构建命令
      • 3-2 自动建立目录骨架
      • 3-3 maven中的坐标和仓库
      • 3-4 在eclipse中安装maven插件以及创建maven项目
      • 3-5 maven的生命周期
      • 3-6 pomxml解析
      • 3-7 依赖范围
      • 3-8 依赖传递
      • 3-9 依赖冲突
      • 3-10 聚合和继承
    • 第四章 如何构建web项目
      • 4-1 使用maven构建web项目

3-1 常用的构建命令

命令 说明 mvn -v 查看maven版本 mvn compile 编译 mvn test 测试 mvn package 打包 mvn clean 删除target文件夹 mvn install 安装jar包到本地仓库中

3-2 自动建立目录骨架

archetype插件

(1)archetype插件用于创建符合maven规定的目录骨架

archetype插件的两种使用方式

(1)命令行界面进入项目根目录,输入mvn archetype:generate命令,根据提示依次输入maven-archetype的版本、groupId、arctifactId、version、package。

(2)或者一次输入所有参数,egmvn archetype:generate -DgroupId:项目包名 -DarctifactId:项目模块名 -Dversion:版本号 -Dpackage:模块包名,根据提示选择maven-archetype版本以及参数的确认。

3-3 maven中的坐标和仓库

maven的坐标

(1)在maven中,任何一个依赖、插件、项目构建的输出等都可以被称为构件。所有构建均通过坐标作为其唯一的标识。
(2)标签groupId、artifactId、version标签就是maven项目的基本坐标。

maven的仓库

maven的仓库用来管理项目的依赖,仓库又分为两种本地仓库远程仓库。查找项目所需依赖时,先查找本地仓库,再查找远程仓库。

查看maven默认的全球仓库地址

打开maven目录 => bin>maven-model-builder.jar>org\apache\maven\model\pom.xml(ps:maven提供的超级pom,所有maven项目都会继承这个pom) => repository标签下的url标签。

设置镜像仓库

打开maven目录\conf\settings.xml => 找到mirrors标签,输入以下代码:

<mirror>   <id>maven.net.cn</id>   <mirrorOf>central</mirrorOf>   <name>central mirror in china</name>   <url>http://maven.net.cn/content/groups/public</url></mirror>

设置镜像仓库后,中央仓库将无法访问

更改本地仓库位置

(1)maven默认的本地仓库地址:c:\user\用户\.m2\repository

(2)打开settings.xml => 找到localRepository标签 => 输入设置的本地仓库地址,注意:路径文件夹的分隔符要使用“/”。

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

安装maven插件

(1)eclipse4.0及以上版本自带maven插件,无需额外安装。

(2)maven的运行需要jdk,eclipse默认安装在jre上,需要修改eclipse的eclipse.ini文件:

-vmc:\jdk1.7.0_55\bin\javaw.exe

(3)修改eclipse的jre,在eclipse界面菜单栏 => window => preferences => java => Installed JREs => Add => Standard VM => 在JRE home文本框中添加jdk的目录 => finish => 勾选添加的jdk => Edit => 在Default VM Arguments文本框输入-Dmaven。multiModuleProjectDirectory=$设置的maven目录变量 =>finish

(4)更改eclipse中maven默认的配置

  1. eclipse菜单栏 => window => preferences = > maven => Installations => Add =>maven的安装目录

  2. eclipse菜单栏 => window => preferences = > maven => User Settings => 选择maven\conf\settings.xml的文件

创建maven项目

New => Maven => Maven Project =>2*next => 选择maven的目录模板quickstart模板 => next => 输入项目坐标 => finish

运行maven项目

eclipse的项目目录下pom.xml右键 => Run As => Maven Build => 在Goals文本框输入compile命令 =>run

3-5 maven的生命周期

完整的项目构建过程

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

maven项目的生命周期

maven包括三套独立的生命周期,clean(清理项目)、default(构建项目)、site(生成项目站点)。每个生命周期又包含一些阶段,各个生命周期的阶段是有顺序的,且后面的阶段依赖于前面的阶段,执行某个阶段时其前面的阶段会依次顺序执行,但不会触发另外两套生命周期的任何阶段。

clean的阶段

阶段 说明 pre-clean 执行清理前的工作 clean 清理上一次构建生成的所有文件 post-clean 执行清理后的文件

default的阶段

default的阶段比较多,常用的阶段有compile、test、package、install

site的阶段

阶段 说明 pre-site 在生成项目站点前要完成的工作 site 生成项目的站点文档 post-site 在生成项目站点后要完成的工作 site-deploy 发布生成的站点到服务器上

使用maven的第三方插件

使用maven的source插件示例

3-6 pom.xml解析

pom.xml是maven项目的核心管理文件,用于项目描述、组织管理、依赖管理和构件信息的管理。

pom.xml的常用标签

pom.xml的常用标签

pom的重要标签(1)

pom的重要标签(1)

pom的重要标签(2)

pom的重要标签(2)

pom的其他标签

pom的其他标签

3-7 依赖范围

scope标签指定依赖的范围,当前项目如果要使用某一个框架,就要把该框架的jar包引入到classpath路径中,这样项目就能使用该框架的方法。maven中提供了三种classpath,分别是编译、测试、运行。依赖的范围就是控制依赖与三种classpath的关系。

scope的六种属性

属性值 说明 compile 默认的范围,编译、测试、运行都有效 provided 在编译和测试时有效 runtime 在测试和运行时有效 test 只在测试时有效 system 在编译、测试有效,但是与本机系统相关联,可移植性差 import 导入的范围,它只使用在dependencyManagement中,表示从其它的pom中导入dependecy的配置

3-8 依赖传递

依赖的传递,指当A依赖B,B依赖C,则A依赖C。

排除传递的依赖

使用exclusions标签

<dependency>   <坐标>需要依赖项目的坐标</坐标>   <exclusions>       <exclusion>            <坐标>需要排除的依赖项目的坐标</坐标>       </exclusion>   </exclusions></dependency>

3-9 依赖冲突

依赖冲突,指有A和B分别依赖于C的不同版本。当D同时依赖于A和B时,则D对传递的依赖C的实际版本是哪一个,需要规则去约定。

规则 说明 短路优先 即优先选择传递依赖路径最短的版本 先声明先优先 在传递依赖路径长短相同时,先声明的依赖路径先选择

3-10 聚合和继承

聚合:将多个项目一起进行install命令,安装到本地仓库中的方法叫聚合
步骤:新建maven项目 => 将pom.xml中的packaging标签内容修改为”pom” => 在pom.xml中加入如下代码:

<modules>   <module>项目的路径</module>   <module>项目的路径</module>   <module>项目的路径</module>   ...</modules>

继承:多个maven项目需要依赖同一个框架或maven项目。
步骤:(1)新建maven项目 => 将pom.xml中的packaging标签内容修改为”pom” => 在pom.xml中加入如下代码:

<dependencyManagement>   <dependencies>       <dependency>           <坐标>被依赖的项目坐标</坐标>       </dependency>   </dependencies></dependencyManagement>

(2)在需要继承的项目pom.xml中,加入

<parent>   <坐标>需要被继承的项目</坐标></parent>

第四章 如何构建web项目

4-1 使用maven构建web项目


相关:入门笔记(1)
入门笔记(3)

0 0
原创粉丝点击