maven学习记录 maven学习笔记

maven是什么

    不仅仅是个构建工具,还是一个依赖管理工具和项目信息管理工具;

    maven项目的核心是pom.xml文件,定义了项目如何构建,声明项目的依赖。

maven 命令

    clean 清理
    compile 编译
    package 打包
    install 安装
    deploy 发布

依赖

    根据坐标(gav)定位依赖

<dependency>
    <groupId>com.jiaxin.risk</groupId>
    <artifactId>risk-web</artifactId>
    <version>1.0.0</version>
    <scope>compile</scope>
</dependency>

依赖范围    

    compile 编译依赖
    test 测试依赖 (比如JUnit)
    provided 已提供依赖 编译、测试有效,运行时无效(由于容器已提供,不需要重复引入,比如servlet api)
    runtime 运行时依赖,测试、运行时有效,编译无效(如JDBC驱动实现,项目编译只需要JDBC提供的接口,执行测试和运行才需要具体实现)
    system 系统依赖,通过systemPath指定依赖文件,不通过maven仓库解析,往往与本机绑定(本地的,Maven仓库之外的类库文件)

依赖性传递


maven 生命周期

    clean 目的是清理项目,包含 pre-clean clean post-clean
    default 定义了真正构建时所需要执行的所有步骤
    site 目的是建立和发布项目站点

maven插件目标参数配置

    在maven中使用-D参数,并伴随一个参数键=参数值的形式,来配置插件目标的参数
    mvn instal -Dmaven.test.skip = true

module 与 parent 聚合与继承

    聚合

    <groupId>com.jiaxin.risk</groupId>
    <artifactId>risk-parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
    <module>risk-web</module>
    <module>risk-core</module>
    <module>risk-api</module>
    </modules>

    继承

    <parent>
    <artifactId>risk-parent</artifactId>
    <groupId>com.jiaxin.risk</groupId>
    <version>1.0-SNAPSHOT</version>
    <relativePath></relativePath>
    </parent>
    作为父模块的pom,其打包类型也必须为pom;
    元素relativePath表示父模块pom的相对路径,默认路径是../pom.xml,也就是父pom在上一层目录下;
    maven会首先根据relativePath检查父pom,如果找不到,在从本地仓库找;
    可继承的pom元素
    groupId 项目组id
    version 项目版本
    description 项目描述信息
    properties 自定义的maven属性
    dependencyManagement 项目的依赖管理配置
    repositories 项目的仓库位置
    build 包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等

依赖管理

<dependencyManagement></dependencyManagement>
dependencyManagement元素既能让子模块继承到父模块的依赖配置,又能保证子模块依赖使用的灵活性。在dependencyManagement元素下的依赖声明不会引入实际的依赖,它可以约束dependencies下的依赖使用

插件管理

<pluginManagement></pluginManagement>
在该元素中配置的依赖不会造成实际的插件调用行为,当pom中配置了真正的plugin元素,并其groupId和artifactId与 pluginManagement中配置的插件匹配时,pluginManagement的配置才会影响实际的插件行为

私服

    

    私服是一个特殊的远程仓库,它是架设在局域网内的仓库服务,当Maven需要下载构建的使用,它先从私服请求,如果私服上没有的话,则从外部的远程仓库下载,然后缓存在私服上,再为Maven的下载请求提供服务



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值