• maven 知识点2


    • maven 命令:
    命令 含义
    mvn help:effective-pom 查看 Super POM 默认配置
    mvn archetype:generate [-DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false] 使用原型(archetype)插件创建工程(如果不带参数,过程中会要求输入各参数)

    构建生命周期

    • Maven 有以下三个标准的生命周期:
      clean
      default(or build)
      site

    • Clean 生命周期
      当我们执行 mvn post-clean 命令时,Maven 调用 clean 生命周期,它包含以下阶段。
      pre-clean
      clean
      post-clean

    • Default (or Build) 生命周期
      这是 Maven 的主要生命周期,被用于构建应用。包括下面的 23 个阶段。

    生命周期阶段 描述
    validate 检查工程配置是否正确,完成构建过程的所有必要信息是否能够获取到。
    initialize 初始化构建状态,例如设置属性。
    generate-sources 生成编译阶段需要包含的任何源码文件。
    process-sources 处理源代码,例如,过滤任何值(filter any value)。
    generate-resources 生成工程包中需要包含的资源文件。
    process-resources 拷贝和处理资源文件到目的目录中,为打包阶段做准备。
    compile 编译工程源码。
    process-classes 处理编译生成的文件,例如 Java Class 字节码的加强和优化。
    generate-test-sources 生成编译阶段需要包含的任何测试源代码。
    process-test-sources 处理测试源代码,例如,过滤任何值(filter any values)。
    test-compile 编译测试源代码到测试目的目录。
    process-test-classes 处理测试代码文件编译后生成的文件。
    test 使用适当的单元测试框架(例如JUnit)运行测试。
    prepare-package 在真正打包之前,为准备打包执行任何必要的操作。
    package 获取编译后的代码,并按照可发布的格式进行打包,例如 JAR、WAR 或者 EAR 文件。
    pre-integration-test 在集成测试执行之前,执行所需的操作。例如,设置所需的环境变量。
    integration-test 处理和部署必须的工程包到集成测试能够运行的环境中。
    post-integration-test 在集成测试被执行后执行必要的操作。例如,清理环境。
    verify 运行检查操作来验证工程包是有效的,并满足质量要求。
    install 安装工程包到本地仓库中,该仓库可以作为本地其他工程的依赖。
    deploy 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程。
    • Site 生命周期
      Maven Site 插件一般用来创建新的报告文档、部署站点等。
      阶段:
      pre-site
      site
      post-site
      site-deploy

    • 当一个阶段通过 Maven 命令调用时,例如 mvn compile,只有该阶段之前以及包括该阶段在内的所有阶段会被执行。

    构建配置文件

    • Profile 主要有三种类型。
    类型 在哪里定义
    Per Project 定义在工程 POM 文件 pom.xml 中
    Per User 定义在 Maven 设置 xml 文件中 (%USER_HOME%/.m2/settings.xml)
    Global 定义在 Maven 全局配置 xml 文件中 (%M2_HOME%/conf/settings.xml)

    仓库

    • Maven 仓库有三种类型:
      本地(local)
      中央(central)
      远程(remote)

    • Maven 本地仓库默认被创建在 %USER_HOME% 目录下。要修改默认位置,在 %M2_HOME%conf 目录中的 Maven 的 settings.xml 文件中定义另一个路径。

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
       http://maven.apache.org/xsd/settings-1.0.0.xsd">
          <localRepository>C:/MyLocalRepository</localRepository>
    </settings>
    

    当你运行 Maven 命令,Maven 将下载依赖的文件到你指定的路径中。

    • Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。
      要浏览中央仓库的内容,maven 社区提供了一个 URL:http://search.maven.org/#browse。使用这个仓库,开发人员可以搜索所有可以获取的代码库。

    • 远程仓库
      如果 Maven 在中央仓库中也找不到依赖的库文件,它会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven 提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。

    • Maven 依赖搜索顺序
      当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:
      步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
      步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中已被将来引用。
      步骤 3 - 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
      步骤 4 - 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库已被将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。

    插件

    • 插件类型
      Maven 提供了下面两种类型的插件:
    类型 描述
    Build plugins 在构建时执行,并在 pom.xml 的 元素中配置。
    Reporting plugins 在网站生成过程中执行,并在 pom.xml 的 元素中配置。

    下面是一些常用插件的列表:

    插件 描述
    clean 构建之后清理目标文件。删除目标目录。
    compiler 编译 Java 源文件。
    surefile 运行 JUnit 单元测试。创建测试报告。
    jar 从当前工程中构建 JAR 文件。
    war 从当前工程中构建 WAR 文件。
    javadoc 为工程生成 Javadoc。
    antrun 从构建过程的任意一个阶段中运行一个 ant 任务的集合。
  • 相关阅读:
    最全的曲文检测整理
    论文速读(Chuhui Xue——【arxiv2019】MSR_Multi-Scale Shape Regression for Scene Text Detection)
    论文速读(Jiaming Liu——【2019】Detecting Text in the Wild with Deep Character Embedding Network )
    论文速读(Yongchao Xu——【2018】TextField_Learning A Deep Direction Field for Irregular Scene Text)
    【论文速读】Yuliang Liu_2017_Detecting Curve Text in the Wild_New Dataset and New Solution
    【论文速读】XiangBai_CVPR2018_Rotation-Sensitive Regression for Oriented Scene Text Detection
    【论文速读】XiangBai_TIP2018_TextBoxes++_A Single-Shot Oriented Scene Text Detector
    【论文速读】Shitala Prasad_ECCV2018】Using Object Information for Spotting Text
    【论文速读】Sheng Zhang_AAAI2018_Feature Enhancement Network_A Refined Scene Text Detector
    【论文速读】Shangbang Long_ECCV2018_TextSnake_A Flexible Representation for Detecting Text of Arbitrary Shapes
  • 原文地址:https://www.cnblogs.com/cag2050/p/7715774.html
Copyright © 2020-2023  润新知