第五章其他核心概念-第五章其他核心概念-《Java学习知识库》

admin 2025-11-02 01:16:43 编程 来源:ZONE.CI 全球网 0 阅读模式
  • 1、生命周期
    • ①作用
    • ②三个生命周期
    • ③特点
  • 2、插件和目标
    • ①插件
    • ②目标
  • 3、仓库

    1、生命周期

    ①作用

    为了让构建过程自动化完成,Maven 设定了三个生命周期,生命周期中的每一个环节对应构建过程中的一个操作。

    ②三个生命周期

    生命周期名称 作用 各个环节
    Clean 清理操作相关 pre-cleancleanpost-clean
    Site 生成站点相关 pre-sitesitepost-sitedeploy-site
    Default 主要构建过程 validategenerate-sourcesprocess-sourcesgenerate-resourcesprocess-resources 复制并处理资源文件,至目标目录,准备打包。compile 编译项目 main 目录下的源代码。process-classesgenerate-test-sourcesprocess-test-sourcesgenerate-test-resourcesprocess-test-resources 复制并处理资源文件,至目标测试目录。test-compile 编译测试源代码。process-test-classestest 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。prepare-packagepackage 接受编译好的代码,打包成可发布的格式,如JAR。pre-integration-testintegration-testpost-integration-testverifyinstall将包安装至本地仓库,以让其它项目依赖。deploy将最终的包复制到远程的仓库,以让其它开发人员共享;或者部署到服务器上运行(需借助插件,例如:cargo)。

    ③特点

    • 前面三个生命周期彼此是独立的。
    • 在任何一个生命周期内部,执行任何一个具体环节的操作,都是从本周期最初的位置开始执行,直到指定的地方。(本节记住这句话就行了,其他的都不需要记)

    Maven 之所以这么设计其实就是为了提高构建过程的自动化程度:让使用者只关心最终要干的即可,过程中的各个环节是自动执行的。

    2、插件和目标

    ①插件

    Maven 的核心程序仅仅负责宏观调度,不做具体工作。具体工作都是由 Maven 插件完成的。例如:编译就是由 maven-compiler-plugin-3.1.jar 插件来执行的。

    ②目标

    一个插件可以对应多个目标,而每一个目标都和生命周期中的某一个环节对应。

    Default 生命周期中有 compile 和 test-compile 两个和编译相关的环节,这两个环节对应 compile 和 test-compile 两个目标,而这两个目标都是由 maven-compiler-plugin-3.1.jar 插件来执行的。

    生命周期定义的是抽象的标准,插件是具体实现,插件的目标是一个一个具体的功能

    3、仓库

    • 本地仓库:在当前电脑上,为电脑上所有 Maven 工程服务
    • 远程仓库:需要联网
      • 局域网:我们自己搭建的 Maven 私服,例如使用 Nexus 技术。
      • Internet
        • 中央仓库
        • 镜像仓库:内容和中央仓库保持一致,但是能够分担中央仓库的负载,同时让用户能够就近访问提高下载速度,例如:Nexus aliyun

    建议:不要中央仓库和阿里云镜像混用,否则 jar 包来源不纯,彼此冲突。专门搜索 Maven 依赖信息的网站:https://mvnrepository.com/

    以太坊cppgolang区别 编程

    以太坊cppgolang区别

    以太坊是一种去中心化的开源平台,它采用智能合约技术,旨在构建和运行不受干扰的分布式应用程序。作为目前最受欢迎的区块链平台之一,以太坊提供了多种编程语言的支持,其
    progolang 编程

    progolang

    Go语言(Golang)是由Google开发的一门静态类型编程语言。作为一名专业的Golang开发者,我深知这门语言的优势和特点。在本文中,我将介绍Golang
    golangn个发送者 编程

    golangn个发送者

    Golang是一种开源的编程语言,由Google团队开发,旨在提高程序的并发性和简化软件开发过程。在Go语言中,有时需要向多个接收者发送信息。本文将介绍如何在G
    golang技能图谱 编程

    golang技能图谱

    从互联网行业的快速发展到人工智能技术的日益成熟,各种编程语言也应运而生。而在这众多的编程语言中,Golang(即Go)作为一门强大且高效的开发语言备受关注。Go
    评论:0   参与:  7