做网站设计难吗,网站开发中的视图页面指的是什么,网站被黑应该怎么做,湖北大网站建设一、概念和基础
Maven针对项目的构建和发布定义了一系列明确的步骤#xff0c;根据作用不同这些步骤分属于不同的生命周期。Maven针对每个步骤都有对应的默认插件#xff0c;Maven在构建过程中是通过调用这些插件完成整个过程的。开发者只需要通过简单的命令就可以驱动maven…一、概念和基础
Maven针对项目的构建和发布定义了一系列明确的步骤根据作用不同这些步骤分属于不同的生命周期。Maven针对每个步骤都有对应的默认插件Maven在构建过程中是通过调用这些插件完成整个过程的。开发者只需要通过简单的命令就可以驱动maven逐步执行生命周期中的步骤来完成项目构建。
二、生命周期
1.三种生命周期
根据作用不同maven主要有三种构建生命周期 1.1 clean lifecycle主要是对项目进行清理 1.2 default lifecycle主要是对项目进行编译、测试、打包、部署等操作 1.3 site lifecycle主要是对项目产生报告、发布站点等
2.生命周期组成
每种构建生命周期都是有一些阶段组成在一个生命周期中必须逐阶段执行但是可以指定到哪个阶段停止。
2.1、clean生命周期
pre-clean执行一些需要在clean之前完成的工作clean移除所有上一次构建生成的文件post-clean执行一些需要在clean之后立刻完成的工作
2.2、default构建生命周期
validate 校验校验项目是否正确并且所有必要的信息可以完成项目的构建过程。initialize初始化初始化构建状态比如设置属性值。generate-sources 生成源代码生成包含在编译阶段中的任何源代码。process-sources 处理源代码处理源代码比如说过滤任意值。generate-resources资源文件生成将会包含在项目包中的资源文件。process-resources处理资源文件复制和处理资源到目标目录为打包阶段最好准备。compile process-classes处理类文件处理编译生成的文件比如说对Java class文件做字节码改善优化。generate-test-sources生成测试源代码生成包含在编译阶段中的任何测试源代码。process-test-sources处理测试源代码处理测试源代码比如说过滤任意值。generate-test-resources生成测试资源文件为测试创建资源文件。process-test- resources处理测试资源文件复制和处理测试资源到目标目录。test-compileprocess-test-classes处理测试类文件处理测试源码编译生成的文件。test prepare-package准备打包在实际打包之前执行任何的必要的操作为打包做准备。packagepre-integration-test集成测试前在执行集成测试前进行必要的动作。比如说搭建需要的环境。integration-test集成测试处理和部署项目到可以运行集成测试环境中。post-integration-test集成测试后在执行集成测试完成后进行必要的动作。比如说清理集成测试环境。verify验证运行任意的检直来验证项目包有效达到质量标准。installdeploy 部署将最终的项目包复制到远程仓库中与其他开发者和项目共享
2.3、clean生命周期
pre-site执行一些需要在生成站点文档之前完成的工作site生成项目的站点文档post-site执行一些需要在生成站点文档之后完成的工作并且为部署做准备site-deploy将生成的站点文档部署到特殊的服务器上
三、插件
Maven在一定意义上相当于一个执行Maven插件的框架插件是真实执行相关操作的执行者。每个插件都通过pom文件关联到Maven生命周期的某个阶段phases并且定义需要执行的目标goal。Maven会在构建过程中在对应的阶段查找关联本阶段的插件并执行插件的goal方法。
1.默认插件
Maven的实际工作都是由插件来执行的而Maven和其他项目已经提供了一系列核心插件和拓展插件以满足项目构建。
Maven插件
2.自定义插件
如果以上插件不能满足开发者需求开发者可以通过开发自定义插件来满足需求。 自定义插件开发
四、绑定插件goal到phase
构建生命周期简化了开发者操作但是我们需要了解当构建项目时如何将插件goal绑定到phase。
1.Packaging
最常用的方式是通过设置POM的节点比如jar、war、ear和pom。如果没有配置则默认为jar。每种类型都会将maven核心插件的某个goal绑定到默认生命周期的构建phase。
2.Plugins
可以通过设置POM中的plugin节点将插件goal与phase进行绑定。
绑定非核心插件可以绑定其他插件和自定义插件。绑定多个goal可以插件的多个goal绑定到一个phasepackaging中只会将一个核心插件中的某一个goal绑定到phase。如果这里插件和packaging中插件相同则会先执行packaging中goal、再执行plugin中配置的goal。多个插件绑定到phase会按照plugin中插件配置的顺序执行。
plugingroupIdcom.mycompany.example/groupIdartifactIddisplay-maven-plugin/artifactIdversion1.0/versionexecutionsexecutionphaseprocess-test-resources/phasegoalsgoaltime/goal/goals/execution/executions/plugin五、命令行启动
1.启动生命周期
可以通过maven命令行来驱动生命周期运行到某个阶段phase命令格式如mvn phase例如
mvn clean deploy这个命令会执行clean生命周期中phase为clean之前的所有phase然后执行default生命周期中phase为deploy之前的所有phase。 同时会根据goal和phase之前的绑定关系调用对应插件的goal进行执行操作。
2.启动特定插件
如果开发了自定义插件插件如果绑定了phase可以通过启动生命周期执行自定义插件。如果没有进行绑定也可以通过命令行执行自定义的插件。 命令格式如
mvn groupId:artifactId:version:goal总结
主要介绍了Maven的三种构建生命周期以及每种生命周期phase的组成maven是通过插件执行具体的操作将插件与phase进行绑定来提高整个构建过程的拓展性。用户可以通过maven命令行来启动构建过程寻找与phase绑定的插件并执行来完成整个构建过程。