栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven-自动化构建工具学习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven-自动化构建工具学习

为什么要用Maven 目的:进行依赖管理和生命周期管理 一、依赖管理:管理第三方jar包
  1. 每个项目不需要复制粘贴大量的jar包到WEB-INF,只需要维护一个jar包的引用,也就是“坐标”,实现代码重用
  2. 可以将当前jar包所依赖的jar包都导入,无需了解依赖的具体jar包。
  3. jar包冲突,使用最短路径优先原则或者先声明优先原则解决。
二、生命周期:清理、编译、测试、报告、打包、部署 好处:
  • 不需要粘贴大量jar包
  • 大项目拆分,maven可以把一个项目拆成多个工程
  • 不需要自己下载jar包
  • jar包版本统一
  • jar包依赖自动载入
什么是Maven 一款自动化构建工具 构建的环节:
  1. 清理:清理以前编译的旧class字节码文件
  2. 编译:源代码编译成class字节码
  3. 测试:调用junit测试
  4. 报告:
  5. 打包:web打包成war,java打包成jar
  6. 安装:将打包得到的文件复制到仓库中制定位置
  7. 部署:将war复制到servlet容器下,可以运行
概念 Pom.xml:核心配置文件 坐标:使用三个向量,在仓库中定位一个maven工程
* groupId 项目名
* artifactId 模块名
* Version 版本

maven坐标和仓库对应的映射关系:[groupId][artifactId][version][artifactId]-[version].jar

仓库
* 本地仓库:当前用户目录.m2repository
* 远程仓库
    * 私服:局域网仓库
    * 中央仓库:因特网仓库
依赖
* 先去本地仓库找依赖,找不到去中央仓库下载到本地仓库,如果中央仓库找不到则编译失败。
* 如果依赖的自己开发的maven工程,需要先把工程install到本地仓库
* 依赖范围
    * Compile 默认值,所有阶段都会存在
    * Provided 开发测试阶段有效
    * Runtime 只在运行和测试有效
    * Test 只在测试有效
    * System 类似于provided 需要自己提供包含依赖的jar
* 依赖传递性:必须是compile范围的依赖,才可以依赖传递
    * 什么是依赖传递:a依赖b,b依赖c,则c必须先mvn install然后b再mvn install a才能编译通过。
    * 为c增加一个依赖d,a和b也会自动增加依赖d
* 依赖版本原则
    * 路径最短原则
	* 路径相同,先声明优先原则
	* 统一管理依赖的版本:使用properties标签,自定义标签名,需要时候使用${自定义标签名}
生命周期:包含三套生命周期
* Clean lifecycle
* default-lifecycle
* Site lifecycle
插件:每个阶段都有插件,用来执行对应的生命周期的命令
  • 不管执行生命周期哪个阶段,都是从头开始执行的。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/319202.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号