极简技术类录--maven

 

 

Maven 技术简录

 

阶段

处理

描述

验证 validate

验证项目

验证项目是否正确且所有必须信息是可用的

编译 compile

执行编译

源代码编译在此阶段完成

测试 Test

测试

使用适当的单元测试框架(例如JUnit)运行测试。

包装 package

打包

创建JAR/WAR包如在 pom.xml 中定义提及的包

检查 verify

检查

对集成测试的结果进行检查,以保证质量达标

安装 install

安装

安装打包的项目到本地仓库,以供其他项目使用

部署 deploy

部署

拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程

 

 为了完成 default 生命周期,这些阶段(包括其他未在上面罗列的生命周期阶段)将被按顺序地执行。

 

Maven 有以下三个标准的生命周期:

    clean:项目清理的处理

    default(或 build):项目部署的处理

site:项目站点文档创建的处理

 

clean 和 pakage 是构建阶段,dependency:copy-dependencies 是目标

mvn clean dependency:copy-dependencies package

 

执行 mvn post-clean 命令时,Maven 调用 clean 生命周期,它包含以下阶段:

    pre-clean:执行一些需要在clean之前完成的工作

    clean:移除所有上一次构建生成的文件

post-clean:执行一些需要在clean之后立刻完成的工作

执行 mvn clean 将运行以下两个生命周期阶段:pre-clean, clean

运行 mvn post-clean ,则运行以下三个生命周期阶段: pre-clean, clean, post-clean

 

Default (Build) 生命周期

生命周期阶段

描述

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-compile(编译测试源码)

编译测试源代码到测试目标目录.

process-test-classes(处理测试类文件)

处理测试源码编译生成的文件。

test(测试)

使用合适的单元测试框架运行测试(Juint是其中之一)。

prepare-package(准备打包)

在实际打包之前,执行任何的必要的操作为打包做准备。

package(打包)

将编译后的代码打包成可分发格式的文件,比如JAR、WAR或者EAR文件。

pre-integration-test(集成测试前)

在执行集成测试前进行必要的动作。比如说,搭建需要的环境。

integration-test(集成测试)

处理和部署项目到可以运行集成测试环境中。

post-integration-test(集成测试后)

在执行集成测试完成后进行必要的动作。比如说,清理集成测试环境。

verify (验证)

运行任意的检查来验证项目包有效且达到质量标准。

install(安装)

安装项目包到本地仓库,这样项目包可以用作其他本地项目的依赖。

deploy(部署)

将最终的项目包复制到远程仓库中与其他开发者和项目共享。

 

命令行调用

mvn install        构建、安装工程到本地仓库

mvn clean deploy   构建和部署项目到共享仓库中

 

Site 生命周期

Maven Site 插件一般用来创建新的报告文档、部署站点等。

    pre-site:执行一些需要在生成站点文档之前完成的工作

    site:生成项目的站点文档

    post-site: 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备

    site-deploy:将生成的站点文档部署到特定的服务器上

 

Maven 插件通常被用来:

    创建 jar 文件

    创建 war 文件

    编译代码文件

    代码单元测试

    创建工程文档

创建工程报告

插件

描述

clean

构建之后清理目标文件。删除目标目录。

compiler

编译 Java 源文件。

surefile

运行 JUnit 单元测试。创建测试报告。

jar

从当前工程中构建 JAR 文件。

war

从当前工程中构建 WAR 文件。

javadoc

为工程生成 Javadoc。

antrun

从构建过程的任意一个阶段中运行一个 ant 任务的集合。

 

archetype 也就是原型,是一个 Maven 插件,准确说是一个项目模板,它的任务是根据模板创建一个项目结构。

mvn clean package -U          maven 命令中使用 -U 参数强制 maven 现在最新的快照构建。

 

元素节点

描述

SCM

配置 SVN 的路径,Maven 将从该路径下将代码取下来。

repository

构建的 WAR 或 EAR 或JAR 文件的位置,或者其他源码构建成功后生成的构件的存储位置。

Plugin

配置 maven-release-plugin 插件来实现自动部署过程。

 

mvn release:clean     清理工作空间,保证最新的发布进程成功进行。

mvn release:rollback   在上次发布过程不成功的情况下,回滚修改的工作空间代码和配置保证发布过程成功进行。

mvn release:prepare   执行多种操作:1.检查本地是否存在还未提交的修改  2.确保没有快照的依赖  3.改变应用程序的版本信息用以发布  4.更新POM文件到SVN  5.运行测试用例

     6. 提交修改后的 POM 文件  7.为代码在 SVN 上做标记  8.增加版本号和附加快照以备将来发布  9.提交修改后POM文件到SVN

mvn release:perform   将代码切换到之前做标记的地方,运行 Maven 部署目标来部署 WAR 文件或者构建相应的结构到仓库里。

    

 

上一篇:AspNetCore架构图


下一篇:yum 命令讲解