【Maven】概述

 

1. Maven它是什么?
a. 定义:一个项目管理工具
b. 包含
i. 项目对象模型(Project Object Model)
ii. 标准集合
iii. 项目生命周期(Project Lifecycle)
iv. 依赖管理系统(Dependency Management System)
v. 逻辑:用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑
2. 约定优于配置(Convention Over Configuration)
a. 理解
i. 假定合理的默认值,而不是提供不必要的配置
ii. 实现方式:通过给项目提供明智的默认行为来融合此概念
iii. 举例一:文件目录位置。maven编译好的文件放在${basedir}/target/classes,并在${basedir}/target创建一个可分发的jar文件
iv. 举例二:核心插件使用一组通用约定,用来编译源代码。
v. 概括:有一个定义好的生命周期和一组知道如何构建和装配软件的通用插件。
3. 一个一般的接口
a. maven之前的构建低效率
b. Mvn install命令
4. 基于maven插件的全局性重用
a. maven的作用大部分是由插件实现的,插件从仓库获得
b. 修改pom插件的版本号可切换版本
c. 概括:maven将一般的构建任务抽象成插件,这些插件有专门的维护以及全局的共享
5. 一个“项目”的概念模型
a. 维护项目的模型
i. 把源码编译成字节码
ii. 开发软件项目的描述信息
iii. 为项目指定一组唯一的坐标
b. 包含一组关于软件项目和软件开发的语义规则的平台
c. 特征
i. 
ii. 为软件项目的语义一致性描述的开端提供了一个基础
6. Maven是Ant的另一种选择么?
a. 回答:是
7. 比较Maven和Ant
a. Ant
i. Ant在构建过程方面十分优秀,它是一个基于任务和依赖的构建系统。每个任务包含一组由XML编码的指令。有COPY任务和javac任务,以及jar任务。在你使用Ant的时候,你为Ant提供特定的指令以编译和打包你的输出。一个简单的build.xml文件:

 

ii. 

iii. 

 

iv. 总结
在这个简单的Ant例子中,你能看到,你需要明确的告诉Ant你想让它做什么。有一个包含javac任务的编译目标用来将src/main/java的源码编译至target/classes目录。你必须明确告诉Ant你的源码在哪里,结果字节码你想存储在哪里,如何将这些字节码打包成〕AR文件。虽然最近有些进展以帮助Ant减少程序,但一个开发者对Ant的感受是用XML编与程序语言。
b. Maven
i. 在Maven中,要从〕ava源码创建一个〕AR文件,你只需要创建一个简单的porn.xml'将你的源码放在${basedir}/src/main/java,然后从命令行运行mvn install。
ii. 

iii. 总结

这就是你pom.xml的全部。从命令行运行mvn install会处理资源文件,编译源代码,运行单元测试,创建一个JAR,然后把这个JAR安装到本地仓库以为其它项目提供重用性。不用做任何修改,你可以运行mvnSite,然后在target/site目录找到一个index.html文件,这个文件链接了JavaDoc和一些关于源代码的报告。诚然,这是一个最简单的样例项目。一个只包含源代码并且生成一个〕AR的项目。一个遵循Maven的约定,不需要任何依赖和定制的项目。如果我们想要定制行为,我们的pom、xml的大小将会增加。

 

c. 比较

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨倩-Yvonne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值