jia薪的博客

勿忘初心

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的下载请求提供服务



阅读更多
个人分类: maven
想对作者说点什么? 我来说一句

maven学习笔记

2018年07月14日 689KB 下载

maven学习笔记maven学习笔记

2010年01月20日 104KB 下载

maven学习记录

2017年11月10日 45.43MB 下载

maven自学笔记

2017年09月18日 5.15MB 下载

Maven学习笔记

2012年07月10日 887KB 下载

Maven学习笔记.zip

2017年10月20日 27.09MB 下载

Maven权威指南》学习笔记

2013年02月25日 111KB 下载

Maven 入门

2015年07月06日 5.83MB 下载

Maven学习-个人学习笔记

2009年03月06日 375KB 下载

Maven学习笔记 PDF记录一下

2017年05月09日 5.65MB 下载

没有更多推荐了,返回首页

关闭
关闭