maven

Maven is a software project management and comprehension tool. Based on  the concept of a Project Object Model (POM), Maven can manage a project's  build, reporting and documentation from a central piece of information.

项目管理  与  自动构建工具


基于POM(Project Object Model)项目对象模型,利用一个中央信息片断能管理一个项目的构建、报告、和文档,JAR文件等步骤

依赖管理系统(Dependency Management System)  DMS

(Project Lifecycle) 项目生命周期

常用命令:

mvn archetype:create 创建Maven项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvnjetty:run 启动jetty服务
mvntomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类


约定优于配置
Maven 使用约定而不是配置,意味着开发者不需要再自己创建构建过程。

构建生命周期

三个生命周期:clean、default(build)、site

四个阶段:prepare-resource、compile、package、install

clean:clean目标通过删除构建目录删除了构建输出,即删除了构建目录  包含三个阶段:pre-clean、clean、post-clean

default(build):maven的主要生命周期,被用于构建应用,包括23个阶段。mvn compile将会开始处理并显示直到编译阶段的构建生命周期的各个阶段

site:一般用来创建新的报告文档、部署站点等  包含四个阶段:pre-site、site、post-site、site-deploy

构建配置文件

构建配置文件是一组配置的集合,用来设置或者覆盖Maven构建的默认配置。使用构建配置文件,可以为不同环境定制构建过程,例如Productation和Development环境

Profile主要有三种类型:Per Project,Project User, Global(分别在工程的pom.xml、%USER_HOME%/.m2/settings.xml、%M2_HOME%/conf/settings.xml下)

Maven的Profile能够通过几种不同的方式激活env.properties,env.test.properties,env.prod.properties:显式使用命令控制台输入、通过 maven 设置、基于环境变量(用户 / 系统变量)、操作系统配置(例如,Windows family)、现存 / 缺失 文件

仓库

仓库是一个位置(place),例如目录,可以存储所有的工程的jar文件、library jar文件、插件或任何其他的工程制定文件

有三种类型:本地local、中央central、远程remote

本地仓库保存你的工程的所有依赖(library jar、plugin jar等)。当你运行一次Maven构建,Maven会自动下载所有依赖的jar文件到本地仓库中。它避免了每次构建时都引用存放在远程机器上的依赖文件。

中央仓库是有Maven社区提供的仓库,其中包含了大量常用的库。中央仓库的关键概念:由Maven社区管理、不需要配置、需要通过网络才能访问

远程仓库:如果Maven在中央仓库中也找不到依赖的库文件,他会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的jar文件。

插件Maven实际上是一个依赖插件执行的框架,每个任务实际上是由插件完成。

Maven提供了两种插件类型:Build plugins在构建时执行,并在pom.xml的元素中配置、Reporting plugins在网站生成过程中执行,并在pom.xml的元素中配置

插件的关键概念:插件是在pom.xml中使用plugins元素定义的、每个插件可以有多个目标、你可以定义阶段,插件会使用它的phase元素开始处理,我们已经使用了clean阶段、你可以通过绑定到插件的目标的方式来配置要执行的任务

创建工程,Maven使用原型(archetype)插件创建工程





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值