Maven学习笔记之——三套生命周期

Maven学习笔记之——三套生命周期

Maven命令的输入往往就对应了生命周期、比如mvncompile就表示执行默认生命周期阶段compile。Maven的生命周期是抽象的、其实际行为都是由插件完成的。比如mvncompile就可能会由maven-compile-plugin完成。生命周期和插件是协同工作。

1、    何为生命周期

项目构件中进行的清理、编译、测试及部署都可以视作一个一个项目的生命周期、但是每个项目每个人都有不一样的顺序不一样的实现方式。没有统一性带来的不方便已经不言而喻。

Maven的生命周期就是为例对所有的构建过程进行抽象和统一。抽象与项目、应用与项目、总结了一套完善易扩展的生命周期:清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成。Maven的生命周期是抽象的、意味着生命周期不做任何实际工作。实际工作都是由插件完成。

2、    三套生命周期

Maven的有三套生命周期:clean、default、site。每个生民周期包含不同的阶段(phase)、阶段是有序的、执行生命周期的每个阶段时此phase的前面的所有阶段都会被执行。

2.1、    Clean:

            pre-clean、
            clean、
            post-clean。

2.2、    Default:

                        validate
                        initialize
                        generate-sources
                        process-sources:处理项目主资源、一般是将src/main/resources目录的内容进行变量替换工作后、复制到项目输出的主classpath目录中。
                        generate-resources
                        process-resources
                        compile编译项目的主源码、一般是编译src/main/java目录下的Java文件至项目输出的主classpath目录中。
                        process-classes
                        generate-test-sources
                        process-test-sources
                        generate-test-resources
                        process-test-resources
                        test-compile:编译项目的测试源码、一般是编译src/test/java目录下的Java文件至项目输出的测试classpath目录中。
                        process-test-classes
                        test:使用单元测试框架运行测试、测试代码不会被打包或部署
                        prepare-package
                        package
                        pre-intergration-test
                        integration-test
                        post-intergration-test
                        verify
                        install:将包安装到Maven本地仓库。
                        deploy:将包复制到远程仓库

2.3、    Site生命周期

                        pre-site
                        site:生成项目站点文档
                        post-site
                        site-deploy:将生成的项目站点发布到服务器上

3、    命令行与生命周期:

前面说过执行生命周期的某个阶段时会被动执行此phase之前的阶段。

        $mvnclean 执行pre-clean——》clean
        $mvnclean install 执行上面提到的clean、执行default生命周期从开始到install所有生命周期阶段。
时间: 2025-01-02 10:57:54

Maven学习笔记之——三套生命周期的相关文章

Maven学习(四):生命周期与maven插件

一.maven 生命周期 (一)简介 Maven强大的一个重要的原因是它有一个十分完善的生命周期模型(lifecycle),这个生命周期可以从两方面来理解: 1.顾名思义,运行Maven的每个步骤都由它来定义的,这种预定义的默认行为使得我们使用Maven变得简单,相比而言,Ant的每个步骤都要你手工去定义. 2.这个模型是一种标准,在不同的项目中,使用Maven的接口是一样的,这样就不用去仔细理解每个项目的构建了,一般情况下,mvn clean install  这样的命令是通用的. 3.一个M

Maven学习笔记(三):Maven的聚合和继承

Maven的聚合其实就是把各个项目拷贝到一个项目里,便于统一构建(这种是父子目录结构构件,个人喜欢这种,平行结构不喜欢),实现聚合的方式为: -- 新建一个普通的Maven项目,只保留pom文件,其他的目录结构都删除 -- 配置新建项目的pom文件: 1 <project ...> 2 <modelVersion>4.0.0</modelVersion> 3 <groupId>XXXX</groupId> 4 <artifactId>

Maven-04: 三套生命周期

Maven的生命周期不是一个整体,而是拥有三套相互独立的生命周期,它们分别是clean,default和site. clean生命周期的目的是清理项目. default生命周期的目的是构建项目. site生命周期的目的是建立项目站点. ---------------------------------------------------------------------------------- clean生命周期: 1) pre-clean: 执行一些清理前需要完成的工作. 2) clean

android开发学习笔记(二)-activity的生命周期

一:activity的生命周期: 二:created->resumed 当一个应用程序的启动图标被用户点击后,应用程序开始从Activity的onCreate()方法开始执行.(当有多个activity文件时,执行Manifest文件中指定的主activity文件). 当执行完onCreate()方法后,迅速调用onStart(),onResume()方法,用户就可以进行相关的操作. 在onCreate()方法中尽量少执行操作,防止程序运行很久都进入不了界面. 三:Resumed->Pause

React学习笔记-4-什么是生命周期

什么是声明周期?组件本质上就是状态机,输入确定,输出一定确定.如何理解这一点?react有两个特点,第一个就是去除了所有的手动dom操作,也就是使用jsx.第二个就是组件把状态和结果一一对应起来,从而能够直观的看出来,程序在不同的状态是的输出.属性是由父组件传递给子组件的,状态是子组件内部维护的一些数据,当状态发生变化时候,组件也会进行更新,因此我们可以理解成一个state对应一个render的结果,这样我们就可以知道在不同的state下,组件会render出什么样的结果,从而就知道组件在页面上

Android(java)学习笔记171:Service生命周期

1.Service的生命周期         Android中的Service(服务)与Activity不同,它是不能和用户交互,不能自己启动的,运行在后台的程序,如果我们退出应用的时候,Service进程并没有结束,它仍然在后台运行,那我们什么时候用到Service呢?比如我们播放音乐时,有可能想边听音乐边干些其他事情,当我们退出音乐播放应用,如果不用Service,我们就听不到音乐了,所以这个时候我们就要用到Service了,又比如当我们一个应用的数据的通过网络获得.不同时间(一段时间)的数

Maven学习笔记(三)---操作和使用

3. maven的操作和使用 maven的操作有两种方式,一种是通过mvn命令行命令,一种是使用maven的eclipse插件.因为使用eclipse的maven插件操作起来比较容易,这里就只介绍使用mvn命令行的操作.3.1 maven的配置文件 maven的主执行程序为mvn.bat,linux下为mvn.sh,这两个程序都很简单,它们的共同用途就是收集一些参数,然后用 java.exe来运行maven的Main函数.maven同样需要有配置文件,名字叫做settings.xml,它放在两个

Maven学习笔记(三)——Maven仓库(Repositories)、基础命令(二)&amp;自动构建项目

前言 上篇blog介绍了maven最基础的一些核心概念,包括maven项目约定的目录结构.maven核心配置文件--pom.xml文件的解析以及3个基本的maven命令(compile.test.package),本篇blog将继续介绍剩余的maven命令,还会涉及到maven最重要的概念之一--Maven仓库,最后会学习如何通过maven自动构建java项目/javaweb项目以及自动构建可供选择的项目骨架. Maven仓库(Repositories) 本来打算继续学习剩余的maven命令,但

Android第一行代码学习笔记七---活动的生命周期

@1.返回栈 Android中的活动是可以层叠的,我们每启动一个新的活动,就会覆盖在原活动之上,然后点击Back键就会销毁最上面的活动,下面一个活动就会重新显示出来. Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈(Back Stack).栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置.而当我们按下Back键或调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈,