maven学习日志之一 Maven概念

1,Maven的概念

     Maven主要服务于基于java平台的项目构建、依赖管理和项目信息管理。Maven作为一个项目管理工具,包含项目对象模型、一组标准集合、一个项目生命周期、一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑。

1.1    项目构建

构建作为程序员每天做的工作,是需要花费很多时间的。构建包括:编译、运行单元测试、生成文档、打包和部署等。虽然现在很多的IDE也提供了类似的功能,但是由于IDE的使用占用的内存空间越大,而项目构建也是一个耗费内存的行为,所以为了减小在同一时刻内存的负担,希望把项目构建和项目的源代码的编写分开。于是有人用软件的方法让这一系列的构建工作完全自动化,使得软件的构建可以像全自动流水线一样,只需要一条命令就可以完成项目构建,Maven就是一种这样的软件。

1.2    依赖管理

依赖管理的基础是Maven的坐标体系。坐标作为Maven识别java构件的唯一标识,类似于数据库的复合主键一样,是由多个字段协同起来标识一个java构件。

Maven的坐标是由五个元素确定的,这四个元素是:groupId(必须)、artifactId(必须)、version(必须)、packaging(可选, 默认为jar)、classifier(不能直接定义)。各个字段的含义如下:

1)       groupId:定义当前Maven项目隶属的实际项目

2)       artifactId:该元素定义实际项目中的一个Maven项目,推荐的做法是使用实际项目名称作为artifactId的前缀。

3)       version:该元素定义Maven项目当前所处的版本。

4)       packaging:该元素定义Maven项目的打包方式。

5)       classifier:该元素用来帮助定义构建输出的一些附属构件。

1.3    项目信息管理

Maven能够帮助我们管理原本分散在项目各个角落的项目信息,包括项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统的地址等。除了直接的项目信息,通过Maven自动生成的站点,以及一些已有的插件,我们还能够轻松获得项目文档、测试报告、静态分析报告、源码版本日志报告等非常具有价值的项目信息。

1.4    约定优于配置

   系统、类库、框架应该假定合理的默认值,而不要求提供不必要的配置,在Maven中,它提供了一些默认的选项(为了更好的项目信息沟通和管理,不建议修改这些目录结构):

1)   源代码约定存放在project path/src/main/java

2)   资源文件存放在project path/src/main/resources

3)   测试代码存放在project path/src/test

4)   生成的项目jar的类 project path/target/classes

5)   项目Jar文件 project path/target

 

1.5    其他特点

   Maven为全世界的java开发者提供了一个免费的中央仓库,在其中几乎可以找到任何流行的开源类库。通过一些Maven的衍生工具,我们还能对其进行快速的搜索,只要定位了坐标,Maven就能帮我们自动下载,省去了手工劳动。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值