分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
这其实并不是一个复杂的问题,但是似乎没有什么资料对此做过清晰的说明,本文将对这个问题做一个详细的解释。
背景知识
maven对构建(build)的过程进行了抽象和定义,这个过程被称为构建的生命周期(lifecycle)。生命周期(lifecycle)由多个阶段(phase)组成,每个阶段(phase)会挂接一到多个goal。goal是maven里定义任务的最小单元,相当于ant里的target。
以phase为目标构建
以phase为目标进行构建是最常见的,如我们平时经常执行的mvn compile,mvn test,mvn package...等等,compile,test,package都是maven生命周期(lifecycle)里的phase,通过mvn命令,你可以指定一次构建执行到那一个阶段,在执行过程中,所有经历的执行阶段(phase)上绑定的goal都将得到执行。例如,对于一个jar包应用,当执行mvn package命令时,maven从validate阶段一个阶段一个阶段的执行,在执行到compile阶段时,compiler插件的compile goal会被执行,因为这个goal是绑定在compile阶段(phase)上的。这一点可从其对应的mojo类上得知:
背景知识
maven对构建(build)的过程进行了抽象和定义,这个过程被称为构建的生命周期(lifecycle)。生命周期(lifecycle)由多个阶段(phase)组成,每个阶段(phase)会挂接一到多个goal。goal是maven里定义任务的最小单元,相当于ant里的target。
以phase为目标构建
以phase为目标进行构建是最常见的,如我们平时经常执行的mvn compile,mvn test,mvn package...等等,compile,test,package都是maven生命周期(lifecycle)里的phase,通过mvn命令,你可以指定一次构建执行到那一个阶段,在执行过程中,所有经历的执行阶段(phase)上绑定的goal都将得到执行。例如,对于一个jar包应用,当执行mvn package命令时,maven从validate阶段一个阶段一个阶段的执行,在执行到compile阶段时,compiler插件的compile goal会被执行,因为这个goal是绑定在compile阶段(phase)上的。这一点可从其对应的mojo类上得知: