Maven 相关概念总结

Maven 相关概念总结

构建原理

Maven 构建项目的规则是约定大于配置,约定指 Maven 提倡项目应遵循标准的目录结构、命名规范等,以便于 Maven 帮助用户自动化地完成项目的编译、测试、打包等一系列工作。

Maven 对项目的生命周期进行了规范,保证不同用户按照统一的规范实现项目的自动化构建。

生命周期

Maven 项目的生命周期包含三部分:Clean、Build、Site

Clean 生命周期

Clean 生命周期用于在项目正式构建前进行一些清理工作,包含以下阶段:

  • pre-clean:执行 clean 前需要完成的工作
  • clean:清理上次构建生成的文件
  • post-clean:执行 clean 后需要完成的工作

Build 生命周期

Build 生命周期用于构建项目,是 Maven 项目的主要生命周期,共包含23个阶段,主要的有:

  • validate:验证项目正确且必要的信息可用
  • compile:编译代码
  • test:执行单元测试
  • package:打包编译后的代码
  • verify:运行集成测试以保证项目质量达标
  • install:将打包后的项目安装至本地仓库以供其他项目使用
  • deploy:在build环境上部署项目,并将打包后的项目发送到远程仓库

Site 生命周期

Site 生命周期用于生成项目的报告文档、站点,包含以下阶段:

  • pre-site:执行生成站点文档前的工作
  • site:生成站点文档
  • post-site:执行生成站点文档后的工作,并未部署做准备
  • site-deploy:将生成的站点文档部署到服务器上

配置文件

Maven 项目的配置文件为项目根目录下的pom.xml文件,该文件中主要包含以下几部分:

  • groupIdartifactId标签分别表示组织/公司的标识和项目的标识,这两个 id 共同定义了这个项目在 Maven 仓库中的唯一坐标
  • version标签表示项目的版本信息
  • build标签用于定义项目的构建过程
  • dependency标签用于定义项目依赖的外部库
  • repositories标签用于定义项目的远程仓库

例如:

  • 基本配置:

org.apache.maven.extensions

beer-maven-lifecycle

1.0-SNAPSHOT

  
 
    
        org.apache.maven
        maven-core
        3.6.1
    

    
        org.codehaus.plexus
        plexus-component-annotations
        1.7.1
    
  

 

  
    companyname.lib1
    http://download.companyname.org/maven2/lib1
  

  • 构建配置:
  

      
    myPorjectName  

      
    ${basedir}/target  

      
      
          
              
            resources  

              
            src/main/resources  

              
              
                **/*.properties  
                **/*.xml  
              

              
              
                jdbc.properties  
              

          
      

      
      
          
          
      

      
    ${basedir}\src\main\java  

      
    ${basedir}\src\test\java  

      
      
          
            org.apache.maven.wagon  
            wagon-ssh  
            2.8  
          
      

      
      
          
              
            maven-assembly-plugin  
            2.5.5  

              
              
                  
                      
                    assembly  

                      
                    package  

                      
                      
                        single  
                      
                  
              

              
              
                ...  
              
          
      
  

仓库

Maven 仓库用于存储项目的依赖文件,分为本地仓库、远程仓库和中央仓库

  • 本地仓库

    本地仓库位于开发人员自己的计算机上,保存着项目的所有依赖。在运行 Maven 构建时,Maven 会自动将所有依赖下载到本地仓库以供使用。

    Maven 本地仓库默认被创建在%USER_HOME% 目录下。可以在 %M2_HOME%\conf目录中的settings.xml中修改

  • 中央仓库

    中央仓库由 Maven 社区提供,包含大量的常用库,通过网络进行访问,不需要进行配置。

  • 远程仓库

    远程仓库由项目组织定义,需要通过项目的 pom xml文件进行配置,

参考

  • Maven的安装、配置及使用入门
  • Maven之pom.xml配置文件详解

你可能感兴趣的:(Maven 相关概念总结)