maven学习记录 maven学习笔记

原创 2018年04月17日 18:29:48

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概述 Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个...
  • u011024652
  • u011024652
  • 2016-07-10 19:22:29
  • 877

maven的学习记录

maven的学习笔记
  • ArtoriaPendragon
  • ArtoriaPendragon
  • 2017-03-25 22:31:39
  • 158

maven 学习记录

spring mvc maven pom
  • JX_INFO
  • JX_INFO
  • 2017-11-08 20:08:21
  • 71

maven学习笔记maven学习笔记

  • 2010年01月20日 16:56
  • 104KB
  • 下载

maven学习笔记

  • 2012年04月05日 14:33
  • 37KB
  • 下载

<em>maven</em>项目<em>学习</em>笔记<em>记录</em>

举报人: 被举报人: yangxin_blog 举报的资源分: 3 *类型: *详细原因: 取  消 提  交 <em>maven</em>项目<em>学习</em>笔记<em>记录</em> 3积分 立即下载 ...
  • 2018年04月08日 00:00

Maven学习记录

1、maven简单项目创建 最简单的demo开始,eclipse中,file-->new-->maven project,创建simple project 创建之后报错,问题为:Could not...
  • liuhuoxingkong
  • liuhuoxingkong
  • 2017-02-19 23:31:28
  • 496

maven学习记录

  • 2017年11月10日 11:35
  • 45.43MB
  • 下载

Maven学习记录(三)--实战引入Spring支持

一.创建项目maven项目在IDEA下创建是相当容易然后给定项目坐标,确定即可二.完善项目目录结构IDEA创建完项目结构和标准的maven项目有些差异,这个时候就需要我们手动调整一下更改前结构 更改...
  • u012706811
  • u012706811
  • 2016-06-02 14:49:34
  • 15893

Maven——快速入门手册(学习记录)

http://www.cnblogs.com/qbzf-Blog/p/6539161.html 前言:   前段时间进行了一点maven的入门学习,在这里做个记录,希望能帮到一...
  • zdy0_2004
  • zdy0_2004
  • 2017-03-20 22:11:49
  • 221
收藏助手
不良信息举报
您举报文章:maven学习记录 maven学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)