您当前的位置: 首页 >  apache

Bulut0907

暂无认证

  • 0浏览

    0关注

    346博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Apache Maven生命周期和插件目标概念、定义项目描述信息和生成site站点

Bulut0907 发布时间:2022-07-07 09:41:07 ,浏览量:0

目录
  • 1. 生命周期
    • 1.1 作用
    • 1.2 三个生命周期
  • 2. 插件和目标
    • 2.1 插件
    • 2.2 目标
  • 3. 定义项目描述信息和生成site站点
    • 3.1 项目描述信息介绍
    • 3.2 在pom.xml中定义项目描述信息
    • 3.3 生成site站点

1. 生命周期 1.1 作用

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

Maven设定了三个生命周期,一个生命周期的每一环对应构建过程中的一个操作

  • 不同的生命周期的执行是独立的,比如命令mvn clean package,执行Clean生命周期和Default生命周期
  • 同一生命周期,执行后面的环节,会自动执行前面的环节。比如命令mvn install,会先按顺序执行Default生命周期install环节前面的所有环节(compile、package等),再最终执行install环节
1.2 三个生命周期 生命周期名称作用各个环节Clean清理操作相关pre-cleancleanpost-cleanSite生成站点相关。站点是一组静态页面,是对项目进行简要说明的,比如项目介绍、开发人员、依赖信息pre-sitesitepost-sitedeploy-siteDefault主要构建过程validategenerate-sourcesprocess-sourcesgenerate-resourcesprocess-resources:复制并处理资源文件,至目标目录,准备打包compile:编译项目main目录下的源代码process-classesgenerate-test-sourcesprocess-test-sourcesgenerate-test-resourcesprocess-test-resources:复制并处理资源文件,至目标测试目录test-compile:编译测试源代码process-test-classestest:使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署prepare-packagepackage:接受编译好的代码,打包成可发布的格式,如jarpre-integration-testintegration-testpost-integration-testverifyinstall:将包安装至本地仓库,以让其它项目依赖deploy:将最终的包复制到远程的仓库,以让其它开发人员共享;或者部署到服务器上运行(需借助插件,例如:cargo) 2. 插件和目标 2.1 插件

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

2.2 目标

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

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

3. 定义项目描述信息和生成site站点 3.1 项目描述信息介绍

Maven可以在pom.xml定义项目描述信息,包括:

  • 公司或组织信息
  • 项目许可证
  • 开发成员信息
  • SCM信息
  • issue管理信息

可以将整个项目相关信息收集起来,生成HTML页面,组成一个可以直接访问的站点。即Maven的site生命周期

3.2 在pom.xml中定义项目描述信息

示例如下:


  4.0.0

  com.hh
  maven-learn
  0.1
  
  my-project
  my project test
  https://www.my-project.com
  
  
    my-company
    https://www.my-company.com
  
  
  
    
      Apache License, Version 2.0
      https://www.apache.org/licenses/LICENSE-2.0
    
  
  
  
    
      dev-test
      dev-test@163.com
      my-company
      https://www.my-company.com
    
  
  
  
    scm:git:git://github.com/my-project/my-project-core.git
    scm:git:ssh://git@github.com/my-project/my-project-core.git
    https://github.com/my-project/my-project-core
  
  
  
    GitHub
    https://github.com/my-project/my-project-core/issues
  
  
  
    
      
        
            org.apache.maven.plugins
            maven-site-plugin
            
            3.12.0
        
      
    

  


3.3 生成site站点

执行mvn clean site,生成的site站点位于target/site目录下,打开target/site/index.html文件,显示如下:

site站点首页

关注
打赏
1664501120
查看更多评论
立即登录/注册

微信扫码登录

0.0370s