1.21 工程化之Maven相关知识(项目开发基础)

 
 
  1. Maven是什么

    1. Maven是项目管理工具,通过配置对JAR包管理
    2. Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
    3. Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。
    4. 概括地说,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。
    5. Maven的核心功能便是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包。
    6. Maven分快照版和发布版本
  2. Maven的优点

    1. 约定优于配置
    2. 测试性好
    3. 构建简单
    4. 支持插件
  3. 使用方式

    1. 安装和使用
    2. 命令
      1. mvn clean package 清理打包
        1.  打包前清理掉之前有过打包的文件夹target
      2. mvn comlile 编译
        1. 1. 开始项目打包
        2. 2. 执行这步可以不用执行compile了
        3. 3. package包括了编译、打包这两步
        4. 4. package完成后,会自动生成一个target文件,根据你编写的pom打包命令和assembly文件可以在 \target\dist 目录下找到你打包好的项目文件夹和项目压缩包
      3. mvn install Jar包放到./m2l路径下
    3. 加载顺序
      1. 本地配置:用户下的:$MAVEN_HOME/conf/setting.xml。存储位置:D:\java\maven\repository
      2. 第三方仓库:又称为内部中心仓库,也称为私服,一般由公司建立。
      3. 中央仓库:Maven内置了远程公用仓库:http://repo1.maven.org/maven2
    4. 生命周期
      1. lifecycle生命周期/phase阶段/goal
        1. 1.clean    里有pre-clean,clean目标,post-clean   
        2. 2 default 常见的有compile,package ,install ,depoly......  
        3. 3 site   里有 pre-site,site,post-site,site-deploy
      2. 1. A Build Lifecycle is Made Up of Phases(构建生命周期由多个阶段组成)
      3. 2. A Build Phase is Made Up of Plugin Goals(构建阶段由插件目标组成)
    5. 实际命令
      1. mvn clean package -DskipTests  -P  dev/sit/uat/prd
    6. 超级pom
      1. pom常用的配置标签
        1. 1. groupId   com.gupaoedu  唯一标识
        2. 2. artfactId 功能命名  
        3. 3. version 版本号
        4. 4. packaging  打包方式 默认是jar
    7.  MAven的快照版本和发布版本
      1. 快照(SNAPSHOT)是一种特殊的版本,指定了某个当前的开发进度的副本。不同于常规的版本,Maven每次构建都会在远程仓库中检查新的快照。
      2. 版本(Version)的情况下,如果Maven以前下载过指定的版本文件,比如说data-service:1.0,Maven将不会再从仓库下载新的可用的1.0文件。若要下载更新的代码,data-service的版本需要升到1.1。
    8. Maven 和 Ant 的差异
      1. Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。
  4. 扩展问题

    1. 怎么解决冲突
    2. 代码质量不过关怎么设置不让提代码
    3. 怎么解决A项目关联B项目的JAR包
posted @ 2018-11-28 22:58  Smileing  阅读(335)  评论(0编辑  收藏  举报